添加两个数组以创建一个
Adding two arrays to create one
我只学习了 Java 一个学期,虽然我知道基础知识的学习过程,但正如预期的那样有趣且相当容易。然而,到最后,随着数组的引入及其与循环的关系,事情对我来说开始变得有点艰难。我目前正在尝试将两个数组加在一起以制作一个。通过制作一个,我的意思是:
例如我已经初始化了两个这样的数组:int[] T = {4, 5, 6} 和 int[] Y = {2, 3, 4}
我如何添加它们才能得到:{6, 8, 10}?
我试过并尝试这样做,但我知道我离得很远:
public class Array_Add {
public static void main (String[] Args){
int[] Eli = {4, 5 , 3};
int[] Beck = {2, 5, 2};
int sum = 0;
for (int i = 0; i < Eli.length; i++){
for (int j = 0; j < Beck.length; j++)
sum = Eli[i] + Beck[j];
}
System.out.println("The sum is: " + sum);
}
}
请尝试以这种方式添加两个数组:
package arrayadd;
import java.util.ArrayList;
import java.util.List;
public class Arrayadd {
public static void main(String[] args) {
int[] firstArray = { 3,4,5 };
int[] secondArray = { 5,6,7 };
List<Integer> total = new ArrayList<Integer>();
if(firstArray.length == secondArray.length) {
for (int i = 0; i < firstArray.length; i++) {
int sum = firstArray[i] + secondArray[i];
total.add(sum);
}
for ( Integer value : total) {
System.out.println(value + " ");
}
}
}
}
正如 Kannan Durai 所写,如果您确定数组的长度始终相同,那么此代码应该会为您提供所需的结果。另外,如果你想要一个结果数组,你应该 .add()
它们在 for()
循环中的新 ArrayList<>()
中,否则就像在你的代码中一样,你将只得到最后一个值sum
(在你的例子中是 3+2)因为你的 println
在 for()
循环之外并且是你没有存储在任何地方的 int sum
。试试这个代码:
public static void main(String[] args) {
int[] Eli = {4, 5, 3};
int[] Beck = {2, 5, 2};
int sum = 0;
ArrayList<Integer> total = new ArrayList<Integer>();
for(int i = 0; i < Eli.length; i++) {
sum = Eli[i] + Beck[i];
total.add(sum);
}
System.out.println(total);
}
如果您想在控制台上单独打印每笔金额,则不需要 ArrayList<>()
。在那种情况下试试这个:
public static void main(String[] args) {
int[] Eli = {4, 5, 3};
int[] Beck = {2, 5, 2};
int sum = 0;
for(int i = 0; i < Eli.length; i++) {
sum = Eli[i] + Beck[i];
System.out.println(sum);
}
}
我只学习了 Java 一个学期,虽然我知道基础知识的学习过程,但正如预期的那样有趣且相当容易。然而,到最后,随着数组的引入及其与循环的关系,事情对我来说开始变得有点艰难。我目前正在尝试将两个数组加在一起以制作一个。通过制作一个,我的意思是:
例如我已经初始化了两个这样的数组:int[] T = {4, 5, 6} 和 int[] Y = {2, 3, 4}
我如何添加它们才能得到:{6, 8, 10}?
我试过并尝试这样做,但我知道我离得很远:
public class Array_Add {
public static void main (String[] Args){
int[] Eli = {4, 5 , 3};
int[] Beck = {2, 5, 2};
int sum = 0;
for (int i = 0; i < Eli.length; i++){
for (int j = 0; j < Beck.length; j++)
sum = Eli[i] + Beck[j];
}
System.out.println("The sum is: " + sum);
}
}
请尝试以这种方式添加两个数组:
package arrayadd;
import java.util.ArrayList;
import java.util.List;
public class Arrayadd {
public static void main(String[] args) {
int[] firstArray = { 3,4,5 };
int[] secondArray = { 5,6,7 };
List<Integer> total = new ArrayList<Integer>();
if(firstArray.length == secondArray.length) {
for (int i = 0; i < firstArray.length; i++) {
int sum = firstArray[i] + secondArray[i];
total.add(sum);
}
for ( Integer value : total) {
System.out.println(value + " ");
}
}
}
}
正如 Kannan Durai 所写,如果您确定数组的长度始终相同,那么此代码应该会为您提供所需的结果。另外,如果你想要一个结果数组,你应该 .add()
它们在 for()
循环中的新 ArrayList<>()
中,否则就像在你的代码中一样,你将只得到最后一个值sum
(在你的例子中是 3+2)因为你的 println
在 for()
循环之外并且是你没有存储在任何地方的 int sum
。试试这个代码:
public static void main(String[] args) {
int[] Eli = {4, 5, 3};
int[] Beck = {2, 5, 2};
int sum = 0;
ArrayList<Integer> total = new ArrayList<Integer>();
for(int i = 0; i < Eli.length; i++) {
sum = Eli[i] + Beck[i];
total.add(sum);
}
System.out.println(total);
}
如果您想在控制台上单独打印每笔金额,则不需要 ArrayList<>()
。在那种情况下试试这个:
public static void main(String[] args) {
int[] Eli = {4, 5, 3};
int[] Beck = {2, 5, 2};
int sum = 0;
for(int i = 0; i < Eli.length; i++) {
sum = Eli[i] + Beck[i];
System.out.println(sum);
}
}