4

BufferedReaderScanner クラスを使用するのではなく、などの他のクラスを使用してユーザーから入力を取得する他の方法について知りたいです。では、ユーザーから入力を取得する他の方法はありましたか? Scannerもしそうなら、それはクラスよりも効率的でしたか?

4

6 に答える 6

5

ConsoleJava SE6以降を使用している場合は、クラスを利用できます。

   Console console = System.console();
   if (console==null){
      System.out.print("console not available ");
   }else {
      String line = console.readLine("Enter name :");
      System.out.print("your name :"+line);
   }
于 2013-04-20T15:59:35.417 に答える
3

System.in次のように直接使用できます。

BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = r.readLine()) != null) {
    System.out.println(line);
}

これは を使用するよりも少し速いかもしれませんが、単純なScanner比較ではありません。Scanner入力をトークン化するためのより多くの方法を提供し、入力をBufferedReaderトークン化せずに行に分割できます。

于 2013-04-20T15:59:40.200 に答える
2

これを使って:

BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));

のリーダーを作成し、または何かをSystem.in使用して必要なものを取得できます。stdin.readLine()

を使用すると、BufferedReaderを使用するよりもはるかに効率的ですScanner

于 2013-04-20T15:59:11.640 に答える
0

ここでは例えば...

InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader stdin = new BufferedReader(inStream);

int num , num2;
String str[]=new String[2];

System.out.print("Please Enter Your First Number:");
str[0] = stdin.readLine();
System.out.print("Please Enter Your Second Number:");
str[1] = stdin.readLine();

num = Integer.parseInt(str[0]);
num2 = Integer.parseInt(str[1]);
于 2014-08-15T15:19:21.803 に答える
-2

ユーザーは、スキャナークラスを使用せずにプログラムの実行時にデータを入力できます。これは、次のプログラムを使用して行うことができます。

 class Demo
  { 
   public static void main(String ar[])
    {
     int ab = Integer.parseInt(ar[0]);
     int ba = Integer.parseInt(ar[1]);
     int res = ab+ba;
     System.out.print(res);
    }
  }

これは、ユーザーが実行時にデータを入力し、目的の結果を得ることができる基本的なプログラムです。文字列の加算、減算、乗算、除算、連結を CMD で行うことができ、ユーザーは Java プログラムのコンパイル後、つまりクラス ファイルの呼び出し時にデータを入力できます。クラスファイルを呼び出して、スペースの後にデータを入力するだけです。

C:\Users\Lenovo\Desktop>java Demo 5 2

ここでは、ab= 5 および ba= 2 です。ユーザーは、必要に応じて、任意の数値または文字列を持つことができます。

于 2015-04-28T17:00:42.723 に答える