Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/nginx/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二进制运算符+;_Java - Fatal编程技术网

Java 二进制运算符+;

Java 二进制运算符+;,java,Java,我知道这段代码适用于所有8种基本数据类型。但是为什么它在这里不起作用呢?我的数组也是整数类型。sum应该是int,而不是int[] 改变 HelloWorld.java:7: error: bad operand types for binary operator '+' sum=(sum+A[i]); ^ first type: int[] second type: int 2 errors 到 sum声明为int

我知道这段代码适用于所有8种基本数据类型。但是为什么它在这里不起作用呢?我的数组也是整数类型。

sum
应该是
int
,而不是
int[]

改变

HelloWorld.java:7: error: bad operand types for binary operator '+'
             sum=(sum+A[i]);
                     ^
  first type:  int[]
  second type: int
2 errors


sum
声明为
int[]
,请执行以下操作:

int[] A={1,2,3,4,5,6};
int sum=0;
可以在单个字段声明()中声明多个字段,但在这种情况下:

通过使用多个声明器,可以在单个FieldDeclaration中声明多个字段;字段修饰符和unantype应用于声明中的所有声明符

i、 e.该类型适用于声明语句中的所有字段


您也可以在这样的语句中向变量名添加初始值设定项,但在您的情况下,第二个初始值设定项
=0
与FieldDeclaration语句的类型不匹配,因此编译器不允许您编译语句
int[]a={1,2,3,4,5,6},sum=0。您的IDE可能也在告诉您有关该错误的消息,如
类型不匹配:无法从int转换为int[]
,但您还没有看到它。

您将
sum
声明为
int
的数组,但将其初始化为int值,这就是问题所在

这一行无法编译

int[] A={1,2,3,4,5,6};
int sum = 0;
应该是这样的

int[] A={1,2,3,4,5,6},sum=0;

通过这样做,
A
被声明为数组,
sum
被声明为基本整数数据类型

int[] A={1,2,3,4,5,6};
int sum=0;
问题:

编译器将
sum
视为整数数组,而不是
int
。因为您声明了类型为
int[]

解决方案:

如果你写信,你会没事的

int[] A={1,2,3,4,5,6},sum=0;
增强功能:

有一种书写
sum=(sum+a[i])的简写符号可以简单地重写为

int[] A={1,2,3,4,5,6};
int sum=0;

正如您在完整的错误消息中所看到的:

未为参数类型int[],int定义运算符+

您将
A
sum
定义为
int[]

您必须更改为:

sum += A[i];

不能将
int
值与
数组
相加。如果要运行代码,必须将
sum
声明为
int
。 您的主要方法应该是:

int[] A={1,2,3,4,5,6};
int sum=0;
publicstaticvoidmain(字符串[]args){
int[]A={1,2,3,4,5,6};
整数和=0;

对于(int i=2;i您的总和也是
int[]
类型,因为这一行

public static void main(String []args){
    int[] A={1,2,3,4,5,6};
    int sum=0;
    for(int i=2;i<=4;i++)
    {
       sum=(sum+A[i]);
    }

    System.out.println("the sum is"+sum);

}
你必须这样做
sum
类型
int

int[] A={1,2,3,4,5,6},sum=0;

贴花
int-sum=0;
not
int[]sum=0;
您忽略了在声明
sum
的行上有一个错误。。。
int[] A={1,2,3,4,5,6};
int sum=0;
public static void main(String []args){
    int[] A={1,2,3,4,5,6};
    int sum=0;
    for(int i=2;i<=4;i++)
    {
       sum=(sum+A[i]);
    }

    System.out.println("the sum is"+sum);

}
int[] A={1,2,3,4,5,6},sum=0;
int[] A={1,2,3,4,5,6};
int sum=0;