1

ユーザーとして、Java コンソールに次のコマンドを入力します。

!login <Username> <udpPort>

つまり、

!login Bob 2233

必要なのは、この入力から値を簡単に取得することです。

String username = "Bob";
int port = 2233;

入力を取得するために BufferedReader を使用しています。

私はすでに試しました:しかし、もちろんこれはうまくいきません。しかし、それは私がしたいことです:

String [] input = in.readReadLine(); //ofcourse this is not working

次に、値を簡単に割り当てることができます。

String username = input[2]; //save "Bob"
int port = Integer.parseInt(input[3]); //save 2233

アドバイスをいただければ幸いです、デイブ

4

4 に答える 4

3

BufferedReaeder readLine()メソッドは。を返しStringます。

文字列を取得したら、個別の文字列として取得する必要がありますSplit();(または) 。StringTokenizer

于 2012-10-23T03:51:32.107 に答える
2

Scanner クラスは、コンソールから入力を取得するのに最適です。

import java.util.*;

public class ConsoleInput { 
    public static void main(String[] args) {
        Scanner scanInput = new Scanner(System.in);
        String input = scanInput.nextLine();
        System.out.println("The input is : "+ input);  
    }  
}

これは、Java での Scanner クラスの使用を示す単純なクラスです。、、などのさまざまなタイプの入力を読み取るのに役立ついくつかのメソッドがありintます。charString

于 2012-10-23T04:07:09.277 に答える
0

java.util.Scanner以下のように使えると思います。

  Scanner inputScanner = new Scanner(System.in);
  inputScanner.next(); //reads whole word
  inputScanner.nextInt(); //reads whole numeral
  inputScanner.nextLine(); //reads whole line

を使用して nextLine、行を読み、分割します

   String line = inputScanner.nextLine();
   String[] commands = line.split(" "); //splits space delimited words in the line

またはを使用してnext()、一度に 1 つのコマンドを読み取ります。

  command[0] = inputScanner.next(); 
  command[1] = inputScanner.next(); 

next()または、次を使用できますnextInt()

  String username = inputScanner.next();  //save "Bob"
  int port = inputScanner.nextInt(); //save 2233

メソッドの詳細はこちら。スキャナ

于 2012-10-23T03:59:40.527 に答える
0

やったほうがいい

String [] input = in.readReadLine().split("\\s+"); // split the line at spaces

配列インデックスは 1 ではなく 0 から始まるため、インデックス 1 と 2 を使用します。

String username = input[1]; //get the second element of the array
int port = Integer.parseInt(input[2]); //get the third element and parse
于 2012-10-23T03:59:55.407 に答える