0
import java.util.Scanner;
public class InputLoop
{
    public static void main(String[] args)
    {
        System.out.println("Enter an integer to continue or a non-integer to finish");
        Scanner scan = new Scanner(System.in);
        int input = scan.nextInt();
        while(scan.hasNextInt())
        {
            System.out.println("Enter an integer to continue or a non-integer to finish");
            scan.next();
        }


    }
}

これは私が書いた最初のwhileループであり、実行すると、「続行するには整数を入力してください.....」と表示される前に、数値を2回入力する必要があります。

4

2 に答える 2

2

ドキュメントによると -Scanner#hasNextInt

nextInt() メソッドを使用して、このスキャナの入力の次のトークンをデフォルト基数の int 値として解釈できる場合、true を返します。スキャナは入力を超えて進みません。

于 2012-11-21T17:07:32.417 に答える
1

これは、do ...while ループとしてはるかに優れています。完了後に状態を確認する以外は、基本的に同じです。

    do
    {
        System.out.println("Enter an integer to continue or a non-integer to finish");
        scan.next();
    } while(scan.hasNextInt());

ただし、しばらく行った場合は、ダミー変数を追加して、少なくとも 1 回は実行できるようにすることができます。

Boolean firstTime=true;
while(firstTime==true || scan.hasNextInt())
    {
        firstTime=true;
        System.out.println("Enter an integer to continue or a non-integer to finish");
        scan.next();
    };
于 2012-11-21T17:06:20.253 に答える