首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用var args方法在java中添加int和int[ ]?

如何使用var args方法在java中添加int和int[ ]?
EN

Stack Overflow用户
提问于 2017-04-02 11:25:36
回答 4查看 88关注 0票数 1

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

代码语言:javascript
复制
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[]”

有人能给我解决这个问题的办法吗?谢谢!!

EN

回答 4

Stack Overflow用户

发布于 2017-04-02 11:27:55

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

代码语言:javascript
复制
total = total + i;
票数 1
EN

Stack Overflow用户

发布于 2017-04-02 11:29:42

错误是因为您试图使用完全不兼容的数据类型执行数学操作..。实际上,您正在尝试添加一个整数,其中包含一个ints数组。

你是说肯定

代码语言:javascript
复制
total = total + i; 

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

通过这样做

代码语言:javascript
复制
total = total + x;

您要将int添加到int数组中.

票数 1
EN

Stack Overflow用户

发布于 2017-04-02 11:34:48

避免愚蠢的错误,您需要为每个方法学习

代码语言:javascript
复制
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来更改您的代码,或者您也可以使用simple for循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43167754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档