第一题 (Map)利用Map,完成下面的功能:
从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。
附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录
- 历届世界杯冠军
届数 | 举办年份 | 举办地点 | 冠军 |
1930年 | 乌拉圭 | 乌拉圭 | |
第二届 | 1934年 | 意大利 | 意大利 |
第三届 | 1938年 | 法国 | 意大利 |
第四届 | 1950年 | 巴西 | 乌拉圭 |
第五届 | 1954年 | 瑞士 | 西德 |
第六届 | 1958年 | 瑞典 | 巴西 |
第七届 | 1962年 | 智利 | 巴西 |
第八届 | 1966年 | 英格兰 | 英格兰 |
第九届 | 1970年 | 墨西哥 | 巴西 |
第十届 | 1974年 | 前西德 | 西德 |
第十一届 | 1978年 | 阿根廷 | 阿根廷 |
第十二届 | 1982年 | 西班牙 | 意大利 |
第十三届 | 1986年 | 墨西哥 | 阿根廷 |
第十四届 | 1990年 | 意大利 | 西德 |
第十五届 | 1994年 | 美国 | 巴西 |
第十六届 | 1998年 | 法国 | 法国 |
第十七届 | 2002年 | 韩日 | 巴西 |
第十八届 | 2006年 | 德国 | 意大利 |
第十九届 | 2010年 | 南非 | 西班牙 |
第二十届 | 2014年 | 巴西 | 德国 |
(Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1994 2002 读入“荷兰”,应当输出 没有获得过世界杯
package homework1;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class zuqiu {
public static void main(String[] args) {
Map<String, String> ma = new HashMap<String, String>();
ma.put("1930", "乌拉圭");
ma.put("1934", "意大利");
ma.put("1938", "意大利");
ma.put("1950", "乌拉圭");
ma.put("1954", "西德");
ma.put("1958", "巴西");
ma.put("1962", "巴西");
ma.put("1966", "英格兰");
ma.put("1970", "巴西");
ma.put("1974", "西德");
ma.put("1978", "阿根廷");
ma.put("1982", "意大利");
ma.put("1986", "阿根廷");
ma.put("1990", "西德");
ma.put("1994", "巴西");
ma.put("1998", "法国");
ma.put("2002", "巴西");
ma.put("2006", "意大利");
ma.put("2010", "西班牙");
ma.put("2014", "德国");
System.out.println("请输入年份");
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
if (ma.containsKey(a) == false) {
System.out.println("该年没有举办奥运会");
} else {
System.out.println("冠军队是: " + ma.get(a));
}
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入夺冠的球队");
String str1 = sc1.nextLine();
if (ma.containsValue(str1) == false) //通过判断输入的球队是否存在
{
System.out.println(str1 + "队没有获得过冠军");
}
else
{
System.out.println(str1 + "队的夺冠年份是:");
//遍历
//通过遍历key的set集合,同时获取value
for (String k : ma.keySet())
{
if (ma.get(k).equals(str1))
{
System.out.print(" " + k);
}
}
}
}
}
第二题 已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数
2008 北京奥运会男足参赛国家:
科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利
package homework1;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class cv
{
public static void main(String[] args)
{
// TODO 自动生成的方法存根
List <String> ls= new ArrayList<>();//实例化
//添加
ls.add("科特迪瓦");
ls.add("阿根廷");
ls.add("澳大利亚");
ls.add("塞尔维亚");
ls.add("荷兰");
ls.add("尼日利亚");
ls.add("日本");
ls.add("美国");
ls.add("中国");
ls.add("新西兰");
ls.add("巴西");
ls.add("比利时");
ls.add("韩国");
ls.add("喀麦隆");
ls.add("洪都拉斯");
ls.add("意大利");
Random r=new Random();//随机
for (int i = 0; i < 4; i++)
{
System.out.println("第" + (i + 1) + "组是:");
for (int j = 0; j < 4; j++)
{
String str;
str = ls.get(r.nextInt(ls.size()));
System.out.print(str + " ");
}
System.out.println("\n");
}
}
}
第三题 有如下Student 对象,
private String name;
private int age;
private int score;
private String classNum;
其中,classNum 表示学生的班号,例如“class05”。 有如下List
List list = new ArrayList();
list.add(new Student(“Tom”, 18, 100, “class05”));
list.add(new Student(“Jerry”, 22, 70, “class04”));
list.add(new Student(“Owen”, 25, 90, “class05”));
list.add(new Student(“Jim”, 30,80 , “class05”));
list.add(new Student(“Steve”, 28, 66, “class06”));
list.add(new Student(“Kevin”, 24, 100, “class04”));
在这个list 的基础上,完成下列要求:
1) 计算所有学生的平均年龄
2) 计算各个班级的平均分
package homework1;
import java.util.ArrayList;
import java.util.List;
public class js
{
public static void main(String[] args)
{
List <Students> list = new ArrayList<>() ;
list.add(new Students("Tom", 18 ,100 , "class05" )) ;
list.add(new Students("jerry", 22 ,70 , "class04" )) ;
list.add(new Students("Owen", 25 ,90 , "class05" )) ;
list.add(new Students("Jim", 30 ,80 , "class05" )) ;
list.add(new Students("Steve", 28 ,66 , "class06" )) ;
list.add(new Students("Kevin", 24 ,100 , "class04" )) ;
double sum = 0 ;
for(int i = 0 ; i<list.size();i++)
{
//总成绩
sum += list.get(i).getAge();
}
System.out.println("平均年龄为:" + sum/list.size());
int sum4 = 0 ;
int j4 = 0 ;
int sum5 = 0 ;
int j5 = 0 ;
int sum6 = 0 ;
int j6 = 0 ;
//foreach
for(Students x : list)
{
if(x.getClassNum().equals("class05") )
{
sum5 +=x.getScore( ) ;
++ j5 ;
}
if(x.getClassNum().equals("class04") )
{
sum4 +=x.getScore( ) ;
++ j4 ;
}
if(x.getClassNum().equals("class06") )
{
sum6 +=x.getScore( ) ;
++ j6 ;
}
}
System.out.println("class05的平均成绩:"+sum5/j5);
System.out.println("class04的平均成绩:"+sum4/j4);
System.out.println("class06的平均成绩:"+sum6/j6);
}
}
第一
题 (Map)利用Map,完成下面的功能:
从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。
附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录
1. 历届世界杯冠军
届数 | 举办年份 | 举办地点 | 冠军 |
1930年 | 乌拉圭 | 乌拉圭 | |
第二届 | 1934年 | 意大利 | 意大利 |
第三届 | 1938年 | 法国 | 意大利 |
第四届 | 1950年 | 巴西 | 乌拉圭 |
第五届 | 1954年 | 瑞士 | 西德 |
第六届 | 1958年 | 瑞典 | 巴西 |
第七届 | 1962年 | 智利 | 巴西 |
第八届 | 1966年 | 英格兰 | 英格兰 |
第九届 | 1970年 | 墨西哥 | 巴西 |
第十届 | 1974年 | 前西德 | 西德 |
第十一届 | 1978年 | 阿根廷 | 阿根廷 |
第十二届 | 1982年 | 西班牙 | 意大利 |
第十三届 | 1986年 | 墨西哥 | 阿根廷 |
第十四届 | 1990年 | 意大利 | 西德 |
第十五届 | 1994年 | 美国 | 巴西 |
第十六届 | 1998年 | 法国 | 法国 |
第十七届 | 2002年 | 韩日 | 巴西 |
第十八届 | 2006年 | 德国 | 意大利 |
第十九届 | 2010年 | 南非 | 西班牙 |
第二十届 | 2014年 | 巴西 | 德国 |
(Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1994 2002 读入“荷兰”,应当输出 没有获得过世界杯