手记

【Java入门第三季】项目实战:简易扑克牌-2疑问

前一篇文章中的代码定义玩家ID为String,为了演示异常捕获,也可以将玩家ID定义为int,为异常捕获写一个方法,该方法在PlayCards类中。
但是有一个问题,如果将scanner的定义放在前面,就会出错,在第一次输入错误,第二次重新输入时,即使输入的是正确的,也会需要重新输入,一直让重新输入.... 但是如果放在try里面就没问题,不知道为什么。。。
public int getPlayerNo() {
// Scanner scanner=new Scanner(System.in);
int playerNo;
while (true) {
try {
Scanner scanner=new Scanner(System.in);
playerNo = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("请输入整数类型的ID!"); }
}
return playerNo;
}

0人推荐
随时随地看视频
慕课网APP