(字节流, Buffered Reader,HashMap)读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年没有举办世界杯

题目


(字节流, Buffered Reader)完成下面操作
在当前目录下创建一个 worldcup. txt的文本文件,其格式如下
2006/意大利
2002/巴西
该文件采用“年份/世界杯冠军”的方式保存每一年世界杯冠军的信息。
要求:读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年没有举办世界杯,
则输出“没有举办世界杯


在这里插入图片描述


import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class TestDemo {
	public static void main(String[] args) throws IOException {
		BufferedReader br = null;
		Map<String, String> map = new HashMap<String, String>();//创建一个map集合
		try {
			FileInputStream fis = new FileInputStream("Files\\worldcup.txt");//文件路径
			InputStreamReader isr = new InputStreamReader(fis);//创建一个桥转换流
			br = new BufferedReader(isr);//字符过滤流
			String s;
			while ((s = br.readLine()) != null) {//
				String[] ss = s.split("/");//把存入的信息做字符串拆分成年份和国家
				map.put(ss[0], ss[1]);//把国家和年份分别放入集合
			}
		} catch (Exception e) {
			e.getStackTrace();
		} finally {
			if (br != null) {//非空判断
				br.close();//刷新并关闭流
			}
		}
		
		Scanner sc = new Scanner(System.in);//控制台输入
		System.out.print("请输入要查询世界杯的年份:");
		String year = sc.nextLine();
		if (map.containsKey(year)) {//从map集合中找key值,只要输入的年份等于对应的key就打印
			System.out.println(map.get(year));//返回指定键所映射的值(国家)
		} else {
			System.out.println("没有举办世界杯!");
		}
	}
}

在这里插入图片描述
在这里插入图片描述

发布了116 篇原创文章 · 获赞 176 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44170221/article/details/104933025