我需要用array1和array2中相应元素的总和填充一个新数组array3。阵列指定为a1,a2和a3。
double[] a1 = {1.2, 2.3, 3.4, 4.5, 5.6};
double[] a2 = {1.0, 2.0, 3.0, 4.0, 5.0};
a3也应该是5个双打的数组。 它应该是{2.2,4.3,6.4,8.5,10.6}。
我试图搞清楚,但它一直在搞乱。 谢谢以获得任何帮助!
这是我到目前为止所做的:
double[] a1 = {1.2, 2.3, 3.4, 4.5, 5.6};
double[] a2 = {1.0, 2.0, 3.0, 4.0, 5.0};
int i = 0;
double [] a3 = new double[5];
for( i =0; i < a1.length; i++) {
a3[i] = a1[i] + a2[i];
}
System.out.println(a3[i]);
答案 0 :(得分:2)
double[] a1 = {1.2, 2.3, 3.4, 4.5, 5.6};
double[] a2 = {1.0, 2.0, 3.0, 4.0, 5.0};
double [] a3 = new double[5];
for(int i=0; i < a1.length; i++){
a3[i] = a1[i] + a2[i];
}
for(int i=0; i < a1.length; i++){
System.out.println(a3[i]);
}
这是一个更好的解决方案。无论如何,问题的核心是你正在用i
做的事情。当您尝试使用arrays
循环遍历for
元素时,将i
范围限定为for
循环有助于避免遇到的一些问题用你原来的问题。
如果将i
作用于for
循环,那么编译器应该在您尝试编译之前发出警告,因为您的原始输出语句甚至不知道名为{的变量{1}}。
答案 1 :(得分:1)
您只需要打印a3数组的所有元素以查看所需的结果:
for( i =0; i < a3.length; i++){
System.out.println(a3[i]);
}
目前,您正尝试使用以下语句显示结果:
System.out.println(a3[i]);
将抛出空指针异常,因为在循环结束时i的值将为5。
答案 2 :(得分:1)
你的代码很好。只记得变量i增加所以要打印最后一个值,它必须是i-1。
public class Test {
public static void main(String[] args) {
double[] a1 = {1.2, 2.3, 3.4, 4.5, 5.6};
double[] a2 = {1.0, 2.0, 3.0, 4.0, 5.0};
int i = 0;
double [] a3 = new double[5];
for( i =0; i < a1.length; i++){
a3[i] = a1[i] + a2[i];
}
System.out.println(a3[i-1]);
for( i =0; i < a1.length; i++){
System.out.println("a["+i+"] = "+a3[i]);
}
}
}
答案 3 :(得分:0)
此
for( i =0; i < a1.length; i++){
a3[i] = a1[i] + a2[i];
}
System.out.println(a3[i]);
应该是
for( i =0; i < a1.length; i++){
a3[i] = a1[i] + a2[i];
System.out.println(a3[i]);
}
答案 4 :(得分:0)
{1}}是因为print语句中IndexOutOfBoundsException
的值等于i
。数组的元素从0到a3.length()
索引,而不是array.length-1
。你的其余代码绝对没问题。所以,试试这个:
array.length
或者
for( i =0; i < a3.length; i++){
System.out.println(a3[i]);
}
在数组中打印值时,可以使用这两种方法中的任何一种,因为for( i : a3){
System.out.println(i);
}
不会打印数组的所有元素。
答案 5 :(得分:0)
由IndexArrayOutOfBounds
引起的System.out.println()
人已经帮助过你了。除了这个问题,我建议改变
double [] a3 = new double[5];
到
double [] a3 = new double[a1.length];
否则,如果您增加a1
的尺寸,则会收到另一个IndexArrayOutOfBounds
错误。