java数组的和
‘壹’ 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 void main(String[] args)
{
int Arr[] =
{ 1, 3, 4, 56, 77, 88, 33, 23, 21 };
int max = 0;
int min = 0;
int sum = 0;
for (int i = 0; i < Arr.length; i++)
{
sum += Arr[i];
for (int j = 0; j < Arr.length; j++)
{
if (Arr[i] > Arr[j] && max < Arr[j]) //这里需要判断一下 如果比当前最大值大 就更改当前最大的值
{
max = Arr[i];
}
if (min == 0)//由于之前最小值是0 所以先需要改变一下
{
min = Arr[i];
if (Arr[i] < Arr[j] && min > Arr[j])
{
min = Arr[i];
}
} else
{
if (Arr[i] < Arr[j] && min > Arr[j])
{
min = Arr[i];
}
}
}
}
System.out.println("数组中最大值为:" + max);
System.out.println("数组中最小值为:" + min);
System.out.println("数组中元素的和为:" + sum);
}
在你代码上改了下。..楼上的也说了 你的判断不够完整
所以执行的时候稍微有点问题 还有你的最外层的循环需要从0开始。数组的第一个是从0开始的
否则会少循环一个数