2016-05-01 2 views
-1

私はScannerについてJavaで1つのクエリを持っています。Java、スキャナに関連する

ユーザーからの入力を受け取り、入力に基づいて同じ操作を実行したいと考えています。

1行目に1 2、2行目に3 4 5、3行目に6 7 8 9 ...と入力した場合、function(1,2)を呼び出す必要があります。 function(3,4,5); function(6,7,8,9); ...ユーザー入力(パラメータのサイズが異なる)に基づいて、同じ関数を呼び出す必要があります。

誰も私にこれを行う最適な方法を提案できますか?これは、これまでの私のプログラムである

...

import java.util.Scanner; 

public class HelloWorld { 

public static void main(String []args){ 
    Scanner sc = new Scanner(System.in); 
    int length = sc.nextInt();   // length of array 
    int query = sc.nextInt();  // how many queries you want to perform 
    int arr[] = new int[length]; 

    for(int i=0;i<length;i++); 
    { 
    int arr[i] = sc.nextInt(); 
    } 

    for(int j=0;j<query;j++) { 
    /* here i want to take input from user and if user inputs 2 integer than pass it like function(param1,param2) if he inputs 3 parameter than pass it like function(param1,param2,param3) 

    } 

注:機能のために、私は可変引数を使用しています:function(int... a)

+1

この行に「for(int i = 0; i RubioRic

答えて

2

使用

  1. while(scannerInstance.hasNextLine) 一つ以上の空白文字に基づいて入力文字列を分割するために次にvalue.split("\\s+")を行全体
  2. を読むために
  3. ループ内で使用String value = scannerInstance.nextLine()の入力を読み続けるとします。
  4. Integer.toString()を使用して各文字列を整数として解析します。
  5. 手順4で得られた整数をメソッドに渡します。
  6. End whileループ。
+0

こんにちは、コードワイズで書いていただけますか? –