String userAge;
while(true){
System.out.println("Enter user Age");
userAge = scInput.nextLine();
if(tryParseInt(userAge)){
return userInfo[row][1] = userAge;
break;
}else{
System.out.println("Please Enter an integer.");
}
}
初学者,姓名是里根。
我的问题是我的代码因为“break;”而无法编译。它说这是一个无法访问的代码。我觉得我在这里做错了,我几乎可以肯定它与变量类型有关..不知道怎么做。 这是一种要求用户年龄的方法。
我的目标是通过我的tryParseInt()方法传递一个字符串来测试并确保输入数据是一个整数,但是将它保存为字符串类型变量。
我正在创建一个多维String数组来存储用户的数据。即名称;年龄;位置。
答案 0 :(得分:10)
break
语句无法访问后的 return
语句,因为该函数在到达break
语句之前退出。删除break;
,您的代码应该编译。
答案 1 :(得分:0)
while(true){
System.out.println("Enter user Age");
userAge = scInput.nextLine();
if(tryParseInt(userAge)){
return userInfo[row][1] = userAge;
//you don't need break here because return at above line will make function to exit - break the loop
//break;
}else{
System.out.println("Please Enter an integer.");
}
}
答案 2 :(得分:0)
判断输入是否为整数:
Scanner scanner = new Scanner(System.in);
try {
userInfo[row][1] = scanner.nextInt());
return;
} catch (InputMismatchException e) {
System.out.println("Please enter a integer.");
}
finally{
scanner.close();
}
并在你的代码中,在返回句子后断句,因此无法访问。