【问题标题】:Java ,Related To scannerJava ,与扫描仪相关
【发布时间】:2016-05-01 06:28:13
【问题描述】:

我有一个关于 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) 

   }

注意:对于我使用可变参数的函数:function(int... a)

【问题讨论】:

  • 您在“for(int i=0;i

标签: java function integer java.util.scanner


【解决方案1】:

使用

  1. while(scannerInstance.hasNextLine) 继续读取输入并在循环中
  2. 使用String value = scannerInstance.nextLine()读取整行
  3. 然后value.split("\\s+")将输入字符串根据 一个或多个空格。
  4. 使用Integer.toString()将每个字符串解析为整数。
  5. 将第 4 步中得到的整数传递给您的方法。
  6. 结束while循环。

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 2012-04-21
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2017-10-25
    • 1970-01-01
    相关资源
    最近更新 更多