Java控制台实现单行内接收用户输入的方法(类似Python输入格式)
Java控制台实现单行内接收用户输入的方法(类似Python输入格式)
当然可以实现啦!你想要的这种和Python类似的单行输入效果,在Java里其实很容易做到,核心就是调整输出提示的方式,下面给你两种实用的实现方法:
方法一:使用Scanner类(新手友好,最常用)
Scanner是Java中处理控制台输入的常用工具,搭配System.out.print()(不带自动换行)就能轻松实现单行输入:
import java.util.Scanner; public class InlineCalculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 用print代替println,避免输出提示后自动换行 System.out.print("Enter Number One: "); int num1 = scanner.nextInt(); System.out.print("Enter Number Two: "); int num2 = scanner.nextInt(); // 简单的加法计算演示 int result = num1 + num2; System.out.println("\nSum of the two numbers: " + result); scanner.close(); } }
运行后效果完全符合你的需求:
Enter Number One: 15 Enter Number Two: 25 Sum of the two numbers: 40
方法二:使用BufferedReader(适合复杂场景或追求性能)
如果需要处理更复杂的输入场景,或者对性能有要求,可以用BufferedReader来实现,同样搭配System.out.print()即可:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class InlineCalculator { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter Number One: "); int num1 = Integer.parseInt(reader.readLine()); System.out.print("Enter Number Two: "); int num2 = Integer.parseInt(reader.readLine()); System.out.println("\nSum of the two numbers: " + (num1 + num2)); reader.close(); } }
关键注意点
- 一定要用
System.out.print()而不是System.out.println():前者输出后不会自动添加换行符,输入光标会停在提示文本的末尾,实现同一行输入的效果;后者会强制换行,就是你之前遇到的那种情况。 - 如果需要读取字符串输入,直接调用
scanner.nextLine()或reader.readLine()即可,不需要做类型转换。
备注:内容来源于stack exchange,提问作者Keegan Welch
相关产品推荐
相关产品推荐

