要求返回的数组是两个惨呼数组对应元素之和,不对应的元素直接赋给相应的位置
package practice.people.apple;
/*
* //编写一个计算给定的两数组之和
*
*/
public class SumArrays {
public static void main(String[] args) {
int[] arr1 = {5,4,6};
int[] arr2 = {9,8,6,2,0};
int max = arr1.length>arr2.length?arr1.length:arr2.length;
int[] sum = new int[max]; //建立一个最大空间的数组
sum = sumArrays(arr1,arr2); //调用方法sumArrays
for(int i = 0;i < sum.length;i++) {
System.out.print(sum[i]+" "); //打印数组sum
}
}
//编写方法,返回两数组对应参数相加之和,不对应的元素直接赋值给相应的位置
public static int[] sumArrays(int[] a,int[] b) {
int max = a.length> b.length?a.length:b.length; //得到最大长度的数组
int[] c = new int[max];
int min = a.length<b.length?a.length:b.length; //得到长度最小的数组,便以相应数相加
int i;
for(i = 0;i < min; i++) {
c[i] = a[i] + b[i]; //两数组都有的部分,对应相加
}
if(a.length > min) {
for(int j = i;j < a.length ;j++) {
c[j] = a[j]; //将a数组大于b数组的部分直接赋值给c
}
}
if(b.length > min) {
for(int j = i;j < b.length ;j++) {
c[j] = b[j]; //将b数组大于a数组的部分直接赋值给c
}
}
return c;
}
}
结果如图:
标签:Java,int,max,sum,---,length,给定,arr2,数组 From: https://blog.51cto.com/u_15943742/6148307