我在java中有一个关于Scanner
的查询。
我想从用户那里获取输入并根据输入执行相同的操作。
如果用户在第一行输入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)
}
注意:对于我正在使用varargs的函数:function(int... a)
。
答案 0 :(得分:2)
使用
while(scannerInstance.hasNextLine)
继续阅读输入并在循环中- 使用
String value = scannerInstance.nextLine()
阅读整行- 然后
value.split("\\s+")
根据分割输入字符串 一个或多个空格。- 使用
Integer.toString()
将每个字符串解析为整数。- 将步骤4中获得的整数传递给您的方法。
- 结束循环。
醇>