Java中的数组值与变量求和
我想把一个数组值和一个int相加,但我不知道怎么做。我的数组包含一个我不知道的值,因为我从文件中读取它。我想将数组中的数字与变量中的数字相加,这是我的代码:Java中的数组值与变量求和,java,arrays,Java,Arrays,我想把一个数组值和一个int相加,但我不知道怎么做。我的数组包含一个我不知道的值,因为我从文件中读取它。我想将数组中的数字与变量中的数字相加,这是我的代码: int number = 2; array[0] += number; System.out.println(array[0]); 但它不起作用,因为例如,如果数组[0]的值为1,系统将打印12,而不是1+2=3 更新:我犯了一个很大的错误,数组中的值是一个字符串,我不知道这一点,所以很明显我不能用整数和字符串求和。 但是如果我知道字符串
int number = 2;
array[0] += number;
System.out.println(array[0]);
但它不起作用,因为例如,如果数组[0]的值为1,系统将打印12,而不是1+2=3
更新:我犯了一个很大的错误,数组中的值是一个字符串,我不知道这一点,所以很明显我不能用整数和字符串求和。
但是如果我知道字符串只包含数字,那么我必须使用Integer.parseInt(字符串)来解析它的内容,然后我可以对它的值求和。如果数组是
字符串[]
,那么将值求和为int
,就像您所做的那样将连接(“12”
),而不是执行算术求和(3
).
解决这一问题的一个习惯用法是:
array[0] = String.valueOf(Integer.parseInt(array[0]) + number);
注意,如果数组[x]不能推断为数字,则需要捕获NumberFormatException
还要注意
String[]
数组中的null
元素有字符串对象,这就是原因所在。首先,必须将字符串对象转换为整数
array[0] = (Integer.parseInt(array[0]) + 2) + "";
数组是字符串数组吗?我打赌你的数组定义为
string[]array…
“从文件中读取”,所以它可能是字符串。除非你用scanner.nextInt()
之类的东西手动转换它。嘿,我刚刚想到了一件事,它是一个String
s的数组吗?@iamnotmaynard你读过你上面的评论了吗?那不会编译-你给String
@mena分配了一个int
值,对了。我的错。我以为这是int数组,但这只是一个粗略的实现想法。在那之后加上“+”。它应该很好用,我建议你编辑你的答案-这是一个简单的解决办法。