JAVA输入多行数字
时间: 2024-09-21 13:08:22 浏览: 43
在Java中,如果你想要输入多行数字,你可以使用`Scanner`类配合循环来实现。下面是一个简单的示例,展示了如何从用户那里连续读取整数:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入多行数字,每行结束后按回车键:");
while (scanner.hasNextInt()) {
int number = scanner.nextInt();
// 这里可以处理每个输入的数字,例如添加到列表或打印出来
System.out.println("你输入的数字是:" + number);
}
// 退出循环并关闭扫描器
scanner.close();
System.out.println("输入结束");
}
}
```
在这个例子中,程序会持续等待用户的输入,直到用户不再输入整数为止。每次读取到一个整数,就进行相应的操作。
相关问题
JAVA输入多行数字每行保存为一个LIST
在 Java 中,如果你想从用户输入读取多行数字并将它们每行保存为一个列表(List),你可以使用 `Scanner` 类结合循环来实现。这里是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
List<Integer> numberList = new ArrayList<>(); // 创建一个空的整数列表
Scanner scanner = new Scanner(System.in); // 创建一个 Scanner 对象用于接收输入
System.out.println("请输入多行数字,每一行按回车结束:");
while (scanner.hasNextLine()) { // 循环直到没有更多的行
String inputLine = scanner.nextLine(); // 获取一行输入
String[] numbers = inputLine.split("\\s+"); // 使用空格分隔字符串,假设数字之间没有其他字符
for (String num : numbers) { // 遍历每个数字
if (!num.isEmpty() && !num.contains(".") && !num.startsWith("-")) { // 检查是否为空、不是浮点数和负数
int digit = Integer.parseInt(num); // 将字符串转换成整数并添加到列表
numberList.add(digit);
}
}
}
scanner.close(); // 关闭 Scanner
// 打印收集的所有数字
for (int i : numberList) {
System.out.print(i + " ");
}
System.out.println();
用java输入多行数据,每行的第一个数字为n表示n个整数,当n=0时对输入的多行数据按照绝对值从大到小排序并输出
可以使用Scanner类来实现输入多行数据,然后将每行数据分割成整数数组进行处理。当n=0时,可以使用Arrays.sort()方法以绝对值为关键字进行排序,然后输出排序后的结果。
以下是示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<int[]> dataList = new ArrayList<>();
while (scanner.hasNext()) {
int n = scanner.nextInt();
if (n == 0) {
break;
}
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
dataList.add(nums);
}
dataList.sort((nums1, nums2) -> {
int absSum1 = Arrays.stream(nums1).map(Math::abs).sum();
int absSum2 = Arrays.stream(nums2).map(Math::abs).sum();
return Integer.compare(absSum2, absSum1);
});
for (int[] nums : dataList) {
Arrays.sort(nums, (num1, num2) -> Integer.compare(Math.abs(num2), Math.abs(num1)));
for (int num : nums) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
输入样例:
```
5 1 -2 -3 4 -5
3 -4 2
0
```
输出样例:
```
-5 4 -3 -2 1
-4 2 -3
```
阅读全文