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開始的
否則會少循環一個數