Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。

历届世界杯冠军
届数 举办年份 举办地点 冠军
第一届 1930年 乌拉圭 乌拉圭
第二届 1934年 意大利 意大利
第三届 1938年 法国 意大利
第四届 1950年 巴西 乌拉圭
第五届 1954年 瑞士 西德
第六届 1958年 瑞典 巴西
第七届 1962年 智利 巴西
第八届 1966年 英格兰 英格兰
第九届 1970年 墨西哥 巴西
第十届 1974年 前西德 西德
第十一届 1978年 阿根廷 阿根廷
第十二届 1982年 西班牙 意大利
第十三届 1986年 墨西哥 阿根廷
第十四届 1990年 意大利 西德
第十五届 1994年 美国 巴西
第十六届 1998年 法国 法国
第十七届 2002年 韩日 巴西
第十八届 2006年 德国 意大利
第十九届 2010年 南非 西班牙
第二十届 2014年 巴西 德国

在原有世界杯Map 的基础上,
增加如下功能:
读入一支球队的名字或输入年份

得到球队的夺冠年份列表或夺冠的球队

例如,读入“巴西”,
应当输出 1958 1962 1970 1994 2002
读入“荷兰”,
应当输出未找到相关信息

一次性判断完就完事了...

看网上好多版本好不爽...

 1 import java.util.Collection;
 2 import java.util.HashMap;
 3 import java.util.Map;
 4 import java.util.Map.Entry;
 5 import java.util.Scanner;
 6
 7 public class TestDay19_3 {
 8
 9     public static void main(String[] args) {
10         HashMap<String, String> hm = new HashMap<>();
11
12         hm.put("1930", "乌拉圭");
13         hm.put("1934", "意大利");
14         hm.put("1938", "意大利");
15         hm.put("1950", "乌拉圭");
16         hm.put("1954", "西德");
17         hm.put("1958", "巴西");
18         hm.put("1962", "巴西");
19         hm.put("1966", "英格兰");
20         hm.put("1970", "巴西");
21         hm.put("1974", "西得");
22         hm.put("1978", "阿根廷");
23         hm.put("1982", "意大利");
24         hm.put("1986", "阿根廷");
25         hm.put("1990", "西得");
26         hm.put("1994", "巴西");
27         hm.put("1998", "法国");
28         hm.put("2002", "巴西");
29         hm.put("2006", "意大利");
30         hm.put("2010", "西班牙");
31         hm.put("2014", "德国");
32
33         // 键盘录入值
34         @SuppressWarnings("resource")
35         Scanner sc = new Scanner(System.in);
36         System.out.println("请输入队名或年份");
37         String s = sc.nextLine();
38
39         Collection<Map.Entry<String, String>> c = hm.entrySet();
40         // 设置获奖标记
41         boolean flag = false;
42         // 遍历集合信息
43         for (Entry<String, String> entry : c) {// 判断是否等于年份
44             if (entry.getKey().equals(s)) {
45                 System.out.println(s + "年获胜的是:" + entry.getValue());
46                 flag = true;
47                 break;
48             } else if (entry.getValue().equals(s)) {// 判断是否等于国家名
49                 // System.out.println(s + "队在" + entry.getKey() + "年夺冠");
50                 System.out.print(entry.getKey() + " ");
51                 flag = true;
52             }
53         }
54         // 如果获奖了就不输出这句话
55         if (!flag) {
56             System.out.println("未找到相关信息");
57         }
58
59     }
60 }

原文地址:https://www.cnblogs.com/youlixin/p/10256349.html

时间: 2024-11-16 08:46:05

Java练习题_Map 利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。的相关文章

Java-map-第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。 附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录

第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年份,请参考本章附录. 附录 历届世界杯冠军 届数 举办年份 举办地点 冠军 第一届 1930年 乌拉圭 乌拉圭 第二届 1934年 意大利 意大利 第三届 1938年 法国 意大利 第四届 1950年 巴西 乌拉圭 第五届 1954年 瑞士 西德 第六届 1958年 瑞典 巴西 第七届 1962年

JAVA传入一个字符串,返回一个字符串中的大写字母

/** * * @param 传入一个字符串 * @return 返回一个字符串中的大写字母 */ private static String stringChange(String s) { if (Utils.isStrEmpty(s)) return ""; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { if (Character.isUpperCase(s.ch

利用powershell进行远程服务器管理(命令行模式)

Pssession,Pssession是Windows Powershell会话的意思,一个会话,可以共享数据,提供交互式的对话,我们可以为某些命令例如Invoke-Command 制定会话来远程作业.当然我们还能利用Enter-Pssession来直接和远程计算机连接,直接建立一个持续安全的远程对话,来执行我们的所有命令. 我们分三个部分来讲述Powershell Session,首先是域环境下的远程连接,WAN/LAN的远程连接(Trusthost方式),WAN/LAN的远程连接(SSL加密

利用Map,完成下面的功能:

从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队.如果该 年没有举办世界杯,则输出:没有举办世界杯. 附:世界杯冠军以及对应的夺冠年份,请参考本章附录. 附录 1.历届世界杯冠军  届数 举办年份 举办地点 冠军第一届 1930年 乌拉圭 乌拉圭第二届 1934年 意大利 意大利第三届 1938年 法国 意大利第四届 1950年 巴西 乌拉圭第五届 1954年 瑞士 西德第六届 1958年 瑞典 巴西第七届 1962年 智利 巴西第八届 1966年 英格兰 英格兰第九届 19

java自带命令行工具(jmap,jhat,jinfo)

(1)JMAP 1.作用 打印进程,core文件,和远程进程的共享对象存储map或堆存储器的详细信息. 2.使用 jmap [ options ] pid jmap [ options ] executable core jmap [ options ] [ pid ] [email protected] ] remote-hostname-or-IP 如果指定的进程是在64位Java虚拟机(JVM)上运行,那么你可能需要指定-J-d64选项,例如:jmap -J-d64 -heap pid.

Java初学者:java是如何在命令行下编译运行程序的

我们上文书说到,我们首先安装Java,然后设置Java环境,然后编译运行了一个简单的Java程序,在命令行模式下显示了一个“Hello baby”.那么,为什么呢?发生了什么呢? 首先,下载安装Java就不用问为什么了对吧?所谓巧妇难为无米之炊,没有Java却想用,这不可能的. 其次,为什么我们要那样设置Java的运行环境呢? 因为,目前为止,我只是想在命令行下编译运行java程序,这样一来,你就需要让命令行模式识别java的命令.而命令行下能自动识别的命令,必须我们手动的把命令的路径添加进去.

java 命令行 编译 运行程序

学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样能够熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lkasdolka; public class test_1{ public static void main(String[] args){ for(int i = 0; i < 10; ++i ){ System.out.println(i); } } } 写好后保存为test_1.java,win

java 命令行 编译 执行程序

学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样可以熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lkasdolka; public class test_1{ public static void main(String[] args){ for(int i = 0; i < 10; ++i ){ System.out.println(i); } } } 写好后保存为test_1.java,win

Java实验课:命令行参数是什么?

命令行参数:在命令行中给定的参数就是命令行参数.(即从输入位置角度理解). 命令行的参数 1. 什么是命令行的参数? 如: java Test1 365 156 "China" (以上Test1必须为主类,否则不能运行) 2.命令行的参数由谁来接收? 一个程序开始于对函数main()的调用.在这样做的时候,有两个参数被送给main(), 其中的一个描述了命令行参数的个数,通常称为argc:另一个是命令行参数的数组,通常称为argv. 命令行参数都是字符串,所以argv的类型是char*