2014-01-31 146 views
0

如何将一个阵列的内容添加到另一个阵列中,以等于另一个阵列。如何将一个阵列添加到另一个阵列中等于另一个阵列

double[] array1 = new double[4]; 
double[] array2 = new double[4]; 
double[] array3 = new double[4]; 

double input; 
double number1; 
double number2; 

System.out.println("Welcome. Please enter the first number in 1st set: "); 

// add 4 numbers into 1st array 

System.out.println("Please enter the first number in the 2nd set: "); 

// add 4 numbers into 2nd array 

for (int i = 0; i < array3.length; i++){ 
    array3[i] = array1[i] + array2[i]; 

    System.out.println(" #" + (i+1) + " in the array is " + array3[i]); 
} 

我不知道为什么底部的代码不起作用。没有错误消息出现,代码中只有0。

我应该这样做:

int number1 = array1[1]; 
int number2 = array[1]; 

int finalNumber = number1 + number2; 

finalNumber = array3[1]; 

这只是似乎过于复杂。

编辑

这是我使用将变量分配在阵列中的代码。

System.out.println("Welcome. Please enter the first number in 1st set: "); 

for (int i = 0; i < array1.length; i++){ 
    System.out.println(i+1 + ": "); 
    input = TextIO.getlnDouble(); // Retrieves input 
    input = array1[i]; 
} 

System.out.println("Please enter the first number in the 2nd set: "); 

for (int i = 0; i < array2.length; i++){ 
    System.out.println("Number: "); 
    input = TextIO.getlnDouble(); // Retrieves input 
    input = array2[i]; 
} 
+2

你如何在array1和array2中设置值?我没有看到它 – Keerthivasan

+1

@ Jordan.McBride请提供您的代码,以在'array1'和'array2'中添加值,您发布的代码看起来很好。所以这个问题可能是在分配值时。 – Bhushan

+0

@Bhushan我添加了代码 –

回答

0

您正在错误地分配值。

您应该使用array1[i]=input;而不是input = array1[i];。见下。

for (int i = 0; i < array1.length; i++){ 
    System.out.println(i+1 + ": "); 
    input = TextIO.getlnDouble(); // Retrieves input 
    array1[i] = input; 
} 

System.out.println("Please enter the first number in the 2nd set: "); 

for (int i = 0; i < array2.length; i++){ 
    System.out.println("Number: "); 
    input = TextIO.getlnDouble(); // Retrieves input 
    array2[i] = input; 
} 
0

您的代码很整齐,看起来不错。

你打印并检查前两个数组的值吗?

由于您已经有线

双[] ARRAY3 =新双[4];

您的for循环不会出现问题。只需打印前两个数组。

0
public static void main (String[] args){ 
     double[] array1 = new double[4]; 
     double[] array2 = new double[4]; 
     double[] array3 = new double[4]; 

     double input; 
     double number1; 
     double number2; 

     System.out.println("Welcome. Please enter the first number in 1st set: "); 

     array1[0] = 1; 
     array1[1] = 2; 
     array1[2] = 3; 
     array1[3] = 4; 

     for (int i = 0; i < array2.length; i++){ 
       System.out.println("Number: "); 
       input = TextIO.getlnDouble(); // Retrieves input 
       //input = array2[i]; <--- change this to 
       array2[i] = input; 
      } 


     for (int i = 0; i < array3.length; i++){ 
      array3[i] = array1[i] + array2[i]; 

      System.out.println(" #" + (i+1) + " in the array is " + array3[i]); 
     } 
    } 

和我的输出是

Welcome. Please enter the first number in 1st set: 
Please enter the first number in the 2nd set: 
#1 in the array is 2.0 
#2 in the array is 4.0 
#3 in the array is 6.0 
#4 in the array is 8.0 

也许它有助于=)

0

你必须改变你的代码

for (int i = 0; i < array2.length; i++){ 
       System.out.println("Number: "); 
       input = TextIO.getlnDouble(); // Retrieves input 
       input = array2[i]; <--- change this to 
      } 

这就是正确的

for (int i = 0; i < array2.length; i++){ 
        System.out.println("Number: "); 
        input = TextIO.getlnDouble(); // Retrieves input 
        array2[i] = input; 
       } 

并且对于第一个阵列也是

0

您错误地将值分配给数组。

您想要将值指定为的变量位于=运算符的左侧。您从分配值的变量位于右侧。

当前您将array1[i]中的值分配给input。 既然你要在input值分配到阵列中的位置,你需要改变

input = array1[i]; 

array1[i] = input; 

而且同样与第二阵列。