java求两个数组相加,所得值返回另一个数组。
展开全部
可以使用一个for循环实现两个数组元素相加,并将结果存储到一个新的数组中。代码如下:
```java
public static int[] addArrays(int[] arr1, int[] arr2) {
int n = Math.max(arr1.length, arr2.length);
int[] result = new int[n];
for (int i = 0; i < n; i++) {
int a = i < arr1.length ? arr1[i] : 0;
int b = i < arr2.length ? arr2[i] : 0;
result[i] = a + b;
}
return result;
}
```
解释:
- 首先我们使用Math.max()方法求出两个数组中长度最大的那一个,结果存在变量n中。
- 然后,我们定义一个数组result,用于存储相加后的结果,长度为n。
- 最后我们使用一个for循环遍历数组,从0到n,每次取出两个数组中对应位置的元素,将它们相加,并将结果存储到result数组中相应的位置。
- 最后返回result数组即可。
需要注意的是,上面的代码中我们使用了三元运算符 ? : 来判断数组的下标是否越界,如果越界则将值设为0。
```java
public static int[] addArrays(int[] arr1, int[] arr2) {
int n = Math.max(arr1.length, arr2.length);
int[] result = new int[n];
for (int i = 0; i < n; i++) {
int a = i < arr1.length ? arr1[i] : 0;
int b = i < arr2.length ? arr2[i] : 0;
result[i] = a + b;
}
return result;
}
```
解释:
- 首先我们使用Math.max()方法求出两个数组中长度最大的那一个,结果存在变量n中。
- 然后,我们定义一个数组result,用于存储相加后的结果,长度为n。
- 最后我们使用一个for循环遍历数组,从0到n,每次取出两个数组中对应位置的元素,将它们相加,并将结果存储到result数组中相应的位置。
- 最后返回result数组即可。
需要注意的是,上面的代码中我们使用了三元运算符 ? : 来判断数组的下标是否越界,如果越界则将值设为0。
展开全部
以下是Java中求两个数组相加并返回结果的示例代码:
```java
public class ArrayAddition {
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3 };
int[] arr2 = { 4, 5, 6 };
int[] result = addArrays(arr1, arr2);
System.out.print("The sum of the arrays is: ");
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
public static int[] addArrays(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) {
throw new IllegalArgumentException("Arrays must have the same length");
}
int[] result = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
result[i] = arr1[i] + arr2[i];
}
return result;
}
}
```
这个程序定义了一个名为 `addArrays` 的静态方法,该方法接受两个整数类型的数组作为参数,并返回一个整数类型的数组,表示两个输入数组对应位置上的元素之和。在主函数中,创建两个数组并调用 `addArrays` 方法进行计算,然后将结果输出到控制台。运行程序后,输出结果将显示为:
```
The sum of the arrays is: 5 7 9
```
这表明程序正确地计算了两个数组的元素之和,并将结果存储在了一个新的数组中。
```java
public class ArrayAddition {
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3 };
int[] arr2 = { 4, 5, 6 };
int[] result = addArrays(arr1, arr2);
System.out.print("The sum of the arrays is: ");
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
public static int[] addArrays(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) {
throw new IllegalArgumentException("Arrays must have the same length");
}
int[] result = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
result[i] = arr1[i] + arr2[i];
}
return result;
}
}
```
这个程序定义了一个名为 `addArrays` 的静态方法,该方法接受两个整数类型的数组作为参数,并返回一个整数类型的数组,表示两个输入数组对应位置上的元素之和。在主函数中,创建两个数组并调用 `addArrays` 方法进行计算,然后将结果输出到控制台。运行程序后,输出结果将显示为:
```
The sum of the arrays is: 5 7 9
```
这表明程序正确地计算了两个数组的元素之和,并将结果存储在了一个新的数组中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考
public class SumOfTwoArrays{
public static int[] sumOfTwoArrays(int[] arr1, int[] arr2){
int na = arr1.length;
int nb = arr2.length;
int nc;
int min;
if(na > nb){
nc = na + 1;
min = nb;
}else{
nc = nb + 1;
min = na;
}
int[] c = new int[nc];
int sum = 0;
int carry = 0;
int i = na - 1;
int j = nb - 1;
int k = nc - 1;
while(i >= 0 && j>=0){
sum = arr1[i] + arr2[j] + carry;
i--;
j--;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
k--;
}
while(i >= 0){ //n2
sum = arr1[i] + carry;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
i--;
k--;
}
while(j >= 0){ //n1 has exhausted
sum = arr2[j] + carry;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
k--;
j--;
}
c[k] = carry;
return c;
}
}
public class SumOfTwoArrays{
public static int[] sumOfTwoArrays(int[] arr1, int[] arr2){
int na = arr1.length;
int nb = arr2.length;
int nc;
int min;
if(na > nb){
nc = na + 1;
min = nb;
}else{
nc = nb + 1;
min = na;
}
int[] c = new int[nc];
int sum = 0;
int carry = 0;
int i = na - 1;
int j = nb - 1;
int k = nc - 1;
while(i >= 0 && j>=0){
sum = arr1[i] + arr2[j] + carry;
i--;
j--;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
k--;
}
while(i >= 0){ //n2
sum = arr1[i] + carry;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
i--;
k--;
}
while(j >= 0){ //n1 has exhausted
sum = arr2[j] + carry;
c[k] = sum % 10;
sum = sum / 10;
carry = sum % 10;
k--;
j--;
}
c[k] = carry;
return c;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询