当前位置:编程学习 > JAVA >>

求救IO流 求教养

题目
*(字节流,BufferedReader)完成下面操作。
在当前目录下创建一个worldcup.txt 的文本文件,其格式如下:
2006/意大利
2002/巴西

该文件采用“年份/世界杯冠军”的方式保存每一年世界杯冠军的信息。
要求:读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年
没有举办世界杯,则输出“没有举办世界杯” --------------------编程问答--------------------

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)));
}
}
}


--------------------编程问答-------------------- 额  作业题。 --------------------编程问答-------------------- BufferedReader 用完没关闭 --------------------编程问答--------------------
引用 1 楼 xiaos_hui 的回复:
Java code

import java.io.*;
import java.util.*;

public class Query {
    public static void main(String[] args) {
        inquire();
    }

    private static HashMap getTxt() throws IOException {……


先将文件的内容读取保存起来,再由用户输入年份,进行判断处理 --------------------编程问答-------------------- --------------------编程问答-------------------- 怎现在还有个 教养  各种养 --------------------编程问答-------------------- 伪代码:
使用操作系统排序命令Runtime.exec;

输入年份year
while (readline!=null) {
 if (year > readline.year) {
    break;
 } else {
   判断处理
 }
}
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,