簡體   English   中英

如何從用戶那里獲取任意數量的參數並將其傳遞給使用varargs(variable arguments)的方法?

[英]How to take any number of arguments from the user and pass them to a method which uses varargs( variable argument )?

我想從用戶那里獲取任何數量的輸入,然后將它們加起來作為最終產品。 實際上,我在名為sum的方法中使用Varargs從用戶那里獲取任意數量的輸入,但是我的問題是如何從用戶那里獲取該輸入並將它們作為方法sum的參數傳遞。

public class calculator 
{
   public static void main(String args[])
   {
      BasicFunc obj = new BasicFunc();
      int result = obj.sum(); // here i want user to input any number of 
                              // arguments.
      System.out.println(result);
   }
}

class BasicFunc
{   
   int sum(int...x) // i have used here varargs
   {
        sum = 0;
        for(int a=0 ; a<x.length ; a++) sum += x[a];
   }
   return sum;
}

您可以使用:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] nums = br.readLine().split(" "); //delimitation by space or comma

由於您使用的是int變量參數,因此您需要先創建int數組,然后再將其傳遞給sum函數。

int[] numbers = new int[nums.length];
for(int i = 0;i < nums.length;i++){
   numbers[i] = Integer.parseInt(nums[i]);
}
BasicFunc obj = new BasicFunc();
int result = obj.sum(numbers);

記住在使用BufferedReader語句時引發Exception。 參考: https : //www.geeksforgeeks.org/variable-arguments-varargs-in-java/
https://www.javatpoint.com/java-bufferedreader-class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM