关于输入类型不匹配的异常处理,为什么我第一种代码会进入死循环?是input.next()的值没有变吗?

                Scanner input=new Scanner(system.in)
                
    	//输入类型不匹配进入死循环
		while(true) {	
		try {
			System.out.println("请输入第"+i+"个玩家的ID:");
			p.ID=input.nextInt();
			break;
		}catch (Exception e) {
			System.out.println("请输入整数!");
			continue;
		}
		}
		
	//正常代码
		while(true) {
			System.out.println("请输入第"+i+"个玩家的ID:");
			String str = input.next();
		try {
			p.ID=Integer.parseInt(str);
			break;
		}catch (Exception e) {
			System.out.println("请输入整数!");
			continue;
		}
		}


_Devil___4213279
浏览 1690回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java