java从键盘输入链表的数据域(正整数),数据之间用空格或回车分隔,以-1结束。
时间: 2024-09-18 11:18:41 浏览: 33
在Java中,你可以使用Scanner类从键盘获取用户的输入,并通过String数组或ArrayList解析用户输入的链表数据。以下是简单的步骤:
1. 首先,创建一个`Node`类表示链表中的节点,包含一个整数值和对下一个节点的引用。
```java
class Node {
int data;
Node next;
public Node(int data) {
this.data = data;
this.next = null;
}
}
```
2. 使用Scanner从控制台读取输入:
```java
import java.util.Scanner;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Node head = null; // 初始化链表头节点
String input;
while ((input = scanner.nextLine()) != "-1") {
String[] values = input.split("\\s+"); // 使用空格或回车作为分隔符
for (String value : values) {
if (!value.isEmpty()) { // 检查是否为空字符串
int num = Integer.parseInt(value); // 将输入转换为整数
Node newNode = new Node(num);
if (head == null) {
head = newNode; // 如果链表为空,直接设置头节点
} else {
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode; // 否则追加到链表末尾
}
}
}
}
// ...后续处理链表...
scanner.close();
}
```
在这个例子中,我们不断读取用户的输入,直到遇到"-1"为止。每次输入都会分割成一个字符串数组,然后遍历这个数组,将每个非空的值转换为整数并添加到链表中。
阅读全文