【问题标题】:how to add int and int[ ] in java using var args method?如何使用 var args 方法在 java 中添加 int 和 int[]?
【发布时间】:2017-04-02 11:25:36
【问题描述】:

这是我的第一个问题,所以我可能听起来很愚蠢,所以请不要介意! 我正在研究一个 var args 的概念,我想出了一个程序如下:

package Method;
public class VariableArguments {
public static void main(String[] args) {
    m1();
    m1(10);
    m1(10,20);
    m1(10,20,30,40);
    m1(10,20,30,40,50);
}
public static void m1(int... x)
{
    int total = 0;
    for(int i:x)
    {
        total = total + x;
    }
    System.out.println("Sum is: "+total);
 }
}

当我运行这个程序时,我遇到了一个错误——

错误:(15, 27) java: 二元运算符'+'的操作数类型错误

第一种类型:int第二种类型:int[]

在第 15 行它说“运算符 '+' 不能应用于 int, int[]”

那么任何人都可以给我这个问题的解决方案吗? 谢谢!!

【问题讨论】:

  • 应该是 total = total + i; 你正在迭代 x 数组。

标签: java


【解决方案1】:

您需要将total 添加到i(每个元素),而不是添加到var args。数组(即x),因此将代码更改为:

total = total + i;

【讨论】:

    【解决方案2】:

    错误是因为您尝试使用完全不兼容的数据类型进行数学运算...实际上您是在尝试将整数与整数数组相加

    你的意思是肯定的

    total = total + i; 
    

    因为两者都是相同的类型(int)

    这样做

    total = total + x;
    

    您正在将 int 添加到 int 数组中...

    【讨论】:

      【解决方案3】:

      避免愚蠢的错误,你需要学习for-each方法:

      for(int i : x) // this means for every integer value *i* in array *x*
      {
            total = total + i ;// this line add the i to total , 
           //total = total + x ;//here array is bad operand for '+' operator .
      }
      

      通过上面的 snnipet 改变你的代码,或者你也可以使用简单的 for 循环。

      【讨论】:

        【解决方案4】:

        当你这样做时:

        total = total + x;
        

        x 是数组。您不能在数组上使用 + 运算符,因此会出现错误。 既然你正在遍历数组 x,我感觉你想要这个:

        total = total + i;
        

        【讨论】:

          猜你喜欢
          • 2012-11-08
          • 2012-12-14
          • 2013-12-18
          • 2013-09-07
          • 1970-01-01
          • 2021-02-01
          • 1970-01-01
          • 2020-12-26
          • 1970-01-01
          相关资源
          最近更新 更多