0

これは非常に単純なコードで、ループ内でキーボードから入力を取得しようとしています。入力ごとに、ループは自動的に 2 回余分に実行され、入力として何を与えても、値 13 と 10 を取ります。私が間違っていることを指摘してください。

コード:

public static void main(String args[])
{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    boolean loop_cond=true;
    int n=1;

    while(loop_cond==true)
    {
        try
        {
            System.out.print("input : ");

            n=br.read();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

        System.out.print(n+"\n");

    }
}  // end Main

出力:

input : 6
54
input : 13
input : 10
input : 9
57
input : 13
input : 10
input : 1
49
input : 13
input : 10
input : 
4

2 に答える 2

1

これらはおそらく \r\n 値です。Scanner で値を取得してみてください。

 Scanner input = new Scanner(System.in);
 int i = input.nextInt(); 
于 2013-03-21T03:59:38.950 に答える
1

変化する

n=br.read();

n = Integer.parseInt(br.readLine());

ただし、Integer 変換を避けるためにScannerクラスを使用することをお勧めします。

于 2013-03-21T04:08:42.660 に答える