Java 二进制运算符+;
我知道这段代码适用于所有8种基本数据类型。但是为什么它在这里不起作用呢?我的数组也是整数类型。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
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;
notint[]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;