0

私は Java プログラマーの初心者で、このJava チュートリアルを使用しています。

コマンド ラインページからのI/OInputStreamReader cin = new InputStreamReader(System.in);では、コマンド ラインからユーザー入力を取得するために使用します。しかし、使おうとしても何も起こりません。非常に単純なプログラムがあり、これが機能するかどうかをテストするだけですが、機能しません。

import java.io.*;

public class TestInput {
    public static void main(String args[]) {
        BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
        if(cin.equals("jon")) {
            System.out.println("hello, jon.");
        } else {
            System.out.println("hello, guest.");
        }
    }
}

「こんにちは、ゲスト」と言って終了し、何も入力できません。

これは と同じように動作すると想定していますSystem.consoleが、そうでない場合は教えてください。

コードの何が問題になっていますか?

答えてくれてありがとう。

編集

私が取得している編集から、cin.readline()実際に入力を読み取るために使用する必要があると思います。

プログラムを動作させました。ありがとう!

4

4 に答える 4

2

入力を読む必要があります:

if(cin.readLine().equals("jon")) {  // or "jon".equals(...) to handle null

( を参照BufferedReader.readLine())

また、可能性IOExceptiontry-catchで処理する必要があります。

では、オブジェクト自体が string と等しいcin.equals("jon")かどうかをテストしていますが、これは明らかに偽です。BufferedReadercin"jon"

于 2013-08-26T16:20:56.437 に答える
2
try{
   BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));
   String name= cin.readLine();

    if(name!=null && name.equals("jon")) {
        System.out.println("hello, jon.");
   } else {
        System.out.println("hello, guest.");
   }
 }catch(IOException e){

 }
于 2013-08-26T16:22:20.950 に答える
0

使用する必要があり、cin.readLine()

オラクルのドキュメント。

于 2013-08-26T16:21:13.537 に答える
0
if(cin.readLine().equals("jon"))

また、IOException を処理する必要があります。

于 2013-08-26T16:21:34.583 に答える