1

文字列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()メソッドを介して文字列を渡し、入力データが整数であることをテストおよび確認することですが、文字列型変数として保持します。

ユーザーのデータを格納するための多次元文字列配列を作成しています。すなわち名前; 年; 位置。

4

3 に答える 3

10

breakreturnステートメントに到達する前に関数が終了するため、ステートメントの後のステートメントに到達できませんbreak。削除するbreak;と、コードがコンパイルされます。

于 2013-03-25T02:29:02.973 に答える
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 に答える
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 に答える