用Java写输入每行以一个整数n(2<n<10)开头,接下来是 个整数,代表两两相加的和。相邻整数以空格隔开。
时间: 2024-02-09 16:11:12 浏览: 71
leetcode2sumc-leetcode:我在LeetCode上解决的所有问题的集合
好的,这可以使用 Java 的 Scanner 类来实现。下面是一个示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt()) {
int n = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
int[] ans = new int[n * (n-1) / 2];
int k = 0;
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
ans[k++] = nums[i] + nums[j];
}
}
// 排序
for (int i = 0; i < ans.length; i++) {
for (int j = i+1; j < ans.length; j++) {
if (ans[i] > ans[j]) {
int tmp = ans[i];
ans[i] = ans[j];
ans[j] = tmp;
}
}
}
for (int i = 0; i < ans.length; i++) {
System.out.print(ans[i] + " ");
}
System.out.println();
}
scanner.close();
}
}
```
在这个示例代码中,我们使用 Scanner 类读取输入,并按照题目要求计算两两相加的和。具体来说,我们首先读取一个整数 n,然后读取 n 个整数,并将它们存储在一个数组 nums 中。接下来,我们计算两两相加的和,并将它们存储在一个数组 ans 中。最后,我们将 ans 数组排序,并输出结果。
注意,由于可能会有多组输入数据,因此我们使用 while 循环来读取输入数据,直到没有更多的输入数据为止。
希望这个示例能够帮到你!
阅读全文