4-4错误提示NoSuchElementException
public static void main(String[] args) {
//定义HashMap的对象并添加数据
Map<Integer, String> map = new HashMap<Integer, String>();
Scanner sc = new Scanner(System.in);
int i = 0;
while(i<5){
System.out.println("请输入足球年份:");
Integer a = sc.nextInt();
System.out.println("请输入冠军球队");
String v = sc.next();
map.put(a, v);
i++;
}
System.out.println("--------------------------");
//使用迭代器的方式遍历
Iterator<String> it = map.values().iterator();
while(it.hasNext()){
System.out.println(it.next()+" ");
}
System.out.println();
System.out.println("--------------------------");
//使用EntrySet同时获取key和value
System.out.println("年份"+"\t"+"冠军");
Set<Entry<Integer, String>> set = map.entrySet();
for(Entry<Integer, String> entry:set){
System.out.print(entry.getKey()+"\t");
System.out.println(entry.getValue());
}
}Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at FootballDemo.main(FootballDemo.java:18)
0
收起
正在回答 回答被采纳积分+1
1回答
chrismorgen
2018-09-13 18:05:46
测试了你的代码并没有报错呀,如下是我测试的代码,
package snippet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
public class Snippet {
public static void main(String[] args) {
//定义HashMap的对象并添加数据
Map<Integer, String> map = new HashMap<Integer, String>();
Scanner sc = new Scanner(System.in);
int i = 0;
while(i<5){
System.out.println("请输入足球年份:");
Integer a = sc.nextInt();
System.out.println("请输入冠军球队");
String v = sc.next();
map.put(a, v);
i++;
}
System.out.println("--------------------------");
//使用迭代器的方式遍历
Iterator<String> it = map.values().iterator();
while(it.hasNext()){
System.out.println(it.next()+" ");
}
System.out.println();
System.out.println("--------------------------");
//使用EntrySet同时获取key和value
System.out.println("年份"+"\t"+"冠军");
Set<Entry<Integer, String>> set = map.entrySet();
for(Entry<Integer, String> entry:set){
System.out.print(entry.getKey()+"\t");
System.out.println(entry.getValue());
}
}
}效果如下图,祝学习愉快~

Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星