求救IO流 求教养
题目*(字节流,BufferedReader)完成下面操作。
在当前目录下创建一个worldcup.txt 的文本文件,其格式如下:
2006/意大利
2002/巴西
…
该文件采用“年份/世界杯冠军”的方式保存每一年世界杯冠军的信息。
要求:读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年
没有举办世界杯,则输出“没有举办世界杯” --------------------编程问答--------------------
--------------------编程问答-------------------- 额 作业题。 --------------------编程问答-------------------- BufferedReader 用完没关闭 --------------------编程问答--------------------
import java.io.*;
import java.util.*;
public class Query {
public static void main(String[] args) {
inquire();
}
private static HashMap getTxt() throws IOException {
HashMap map = new HashMap();
BufferedReader br = new BufferedReader(new FileReader(
"C:\\worldcup.txt"));
String str = null;
while ((str = br.readLine()) != null) {
String[] temp = str.split("/");
map.put(temp[0], temp[1]);
}
return map;
}
private static void inquire() {
HashMap map = null;
try {
map = Query.getTxt();
} catch (IOException e) {
e.printStackTrace();
}
Scanner sc = new Scanner(System.in);
int year = 0;
while (sc.hasNext()) {
try {
year = sc.nextInt();
} catch (InputMismatchException e) {
try {
System.out.println("非法输入");
} finally {
inquire();
}
}
System.out
.println(map.get(String.valueOf(year)) == null ? "没有举办世界杯"
: map.get(String.valueOf(year)));
}
}
}
先将文件的内容读取保存起来,再由用户输入年份,进行判断处理 --------------------编程问答-------------------- --------------------编程问答-------------------- 怎现在还有个 教养 各种养 --------------------编程问答-------------------- 伪代码:
使用操作系统排序命令Runtime.exec;
输入年份year
while (readline!=null) {
if (year > readline.year) {
break;
} else {
判断处理
}
}
补充:Java , Java EE