2016-05-01 96 views
-1

我有一個關於java中的Scanner的查詢。Java,與掃描器相關

我想從用戶那裏接受輸入並根據輸入執行相同的操作。

如果用戶在第一行輸入1 2,在第二行輸入3 4 5,在第三行輸入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)保持讀數輸入和在循環
  2. 使用String value = scannerInstance.nextLine()閱讀整線
  3. 然後value.split("\\s+")分裂基於 一個或多個空格,輸入字符串。
  4. 使用Integer.toString()將每個字符串解析爲整數。
  5. 將步驟4中獲得的整數傳遞給您的方法。
  6. End while循環。
+0

嗨,你能寫代碼明智嗎? –