1

字符串用户年龄;

    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() 方法传递一个字符串来测试并确保输入数据是一个整数,但将其保留为字符串类型变量。

我正在创建一个多维字符串数组来存储用户的数据。即姓名;年龄; 地点。

4

3 回答 3

10

break语句后的return语句无法访问,因为函数在break到达语句之前退出。删除break;,您的代码应该可以编译。

于 2013-03-25T02:29:02.973 回答
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();
}

并在您的代码中,在返回语句后中断语句,因此无法访问。

于 2013-03-25T02:46:31.497 回答
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.");
                }
    }
于 2013-03-25T02:35:09.503 回答