Java中运行程序时没有报错在console中不能输入

帆影匆匆 2017-10-09 07:48:39
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

import org.junit.Test;
public class test_map_1 {




@Test
public void test_1(){
HashMap<String,Integer> map=new HashMap<String,Integer>();
System.out.println("请输入学生的数量");
Scanner in=new Scanner(System.in);
int k=in.nextInt();
String[] str=new String[2];

System.out.println("请输入学生的姓名和成绩");
String line=in.nextLine();
str=line.split(" ");
map.put(str[0], Integer.parseInt(str[1]));

Set<Map.Entry<String,Integer>> set1=map.entrySet();
for(Map.Entry<String,Integer> o :set1){
System.out.println(o.getKey()+"------->"+o.getValue());
}

求问为啥这程序也没报错,但是在运行 System.out.println("请输入学生的数量"); 这条语句之后,不能再console控制台中输入任何的数据,键盘也没坏,
...全文
628 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由自在_Yu 2017-10-09
  • 打赏
  • 举报
回复
String line=in.nextLine(); str=line.split(" "); 不能用空格“ ”当成分隔符,输入空格,就会变成nextLine()
自由自在_Yu 2017-10-09
  • 打赏
  • 举报
回复
System.out.println("请输入学生的姓名和成绩");
		while(in.hasNext()){
			String line = in.next();
			if(!("$".equals(line))){
				System.out.println(line);
	            str = line.split(",");
				map.put(str[0], Integer.parseInt(str[1]));
			}else{
				break;
			}
		}
请输入学生的数量 2 请输入学生的姓名和成绩 张三,2 张三,2 李四,3 李四,3 $ --------------- 张三------->2 李四------->3

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧