如何以回车为结束输入Java

如何以回车为结束输入Java

作者:William Gu发布时间:2026-02-27 18:13阅读时长:13 分钟阅读次数:16
常见问答
Q
Java中如何实现用户通过回车键结束输入?

我在用Java写程序时,想让用户输入内容,当他们按下回车键时结束输入,该怎么办?

A

使用Scanner读取回车结束输入

可以使用Scanner类的nextLine()方法读取用户输入的每一行内容。当用户输入空行(直接按回车键)时,可以判断并结束输入循环。例如:

Scanner scanner = new Scanner(System.in);
String line;
do {
    line = scanner.nextLine();
    if (!line.isEmpty()) {
        // 处理输入内容
        System.out.println("输入内容: " + line);
    }
} while (!line.isEmpty());

scanner.close();

这个程序会持续读取用户输入,直到用户直接按回车(输入空字符串)时退出。

Q
在Java中处理多行输入并在回车空行时结束,有没有示例代码?

我想写一个Java程序,让用户可以输入多行内容,按回车空行时停止输入,可否给我示例?

A

多行输入示例代码通过空行结束

这里提供一个简单示例:

import java.util.Scanner;

public class MultiLineInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容,直接按回车空行结束:");
        StringBuilder inputTxt = new StringBuilder();
        String line;
        while (true) {
            line = scanner.nextLine();
            if (line.isEmpty()) {
                break; //空行,结束输入
            }
            inputTxt.append(line).append("\n");
        }
        System.out.println("你输入的内容是:");
        System.out.println(inputTxt.toString());
        scanner.close();
    }
}

这个程序不断读取行,只有当输入为空行时结束输入,并打印用户输入的所有内容。

Q
为什么用Scanner.nextLine()读取输入时回车能作为结束符?

我注意到使用Scanner.nextLine()时,直接按回车能让程序结束输入,这是为什么?

A

nextLine()读取整行并以回车作为分隔符

Scanner.nextLine()方法会读取输入的一整行字符,直到遇到换行符(回车)为止。当用户直接回车时,表示输入为空行,返回空字符串。程序可以通过判断返回的字符串是否为空来确定是否继续读取输入,从而以回车结束输入操作。