数组求和ptaJAVA
时间: 2025-01-04 18:32:17 浏览: 20
### 解决方案
#### 方法定义
为了满足需求,在 `Main` 类中创建名为 `add` 的静态方法用于计算两个一维数组之和。此方法接收两个参数分别为 `int[] arr` 和 `int[] arr2`,返回一个新的整型数组作为两者的和[^1]。
```java
public class Main {
public static int[] add(int[] arr, int[] arr2) {
int length = Math.min(arr.length, arr2.length);
int[] tmp = new int[length];
for (int i = 0; i < length; ++i) {
tmp[i] = arr[i] + arr2[i];
}
return tmp;
}
}
```
#### 主函数逻辑
在 `main` 函数内,程序首先提示用户输入两个一维数组的大小以及各自的元素值。接着调用上述定义好的 `add()` 函数来获取这两个数组对应位置上数值相加之后的结果,并最终打印出来。
```java
import java.util.Scanner;
public class Main {
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("请输入第一个数组长度:");
int n = scanner.nextInt();
int[] arrayOne = readElements(n, "第一个");
int[] arrayTwo = readElements(n, "第二个");
int[] resultArray = add(arrayOne, arrayTwo);
System.out.print("两数组求和的结果为: ");
display(resultArray);
}
private static int[] readElements(int size, String description){
int[] elements = new int[size];
System.out.printf("请输入%s数组中的%d个整数:\n",description,size);
for (int index = 0; index < size ;index++){
elements[index]=scanner.nextInt();
}
return elements;
}
private static void display(int[] data){
StringBuilder outputBuilder=new StringBuilder("[");
for (var item:data){
outputBuilder.append(item).append(",");
}
if(data.length>0){
outputBuilder.setCharAt(outputBuilder.length()-1,']');
}else{
outputBuilder.append(']');
}
System.out.println(outputBuilder.toString());
}
// 已经展示过的方法体省略...
}
```
阅读全文