
java如何在控制台输入2个数
用户关注问题
如何在Java中读取用户输入的两个数字?
我想要写一个Java程序,在控制台输入两个数字,该如何实现?
使用Scanner类读取两个数字
可以使用Java中的Scanner类来读取控制台输入。首先创建Scanner对象,比如Scanner scanner = new Scanner(System.in);,然后使用scanner.nextInt()方法分别读取两个整数,最后关闭Scanner。示例如下:
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个数字:");
int num2 = scanner.nextInt();
System.out.println("你输入的数字是:" + num1 + " 和 " + num2);
scanner.close();
}
}
Java读取控制台数字时遇到输入异常怎么办?
在用Scanner读取数字时,如果用户输入了非数字内容,程序会报错,如何避免程序崩溃?
使用hasNextInt()方法判断输入有效性
使用Scanner读取数字前,可以先调用scanner.hasNextInt()判断接下来的输入是否为整数。如果返回true,则安全读取,否则提示用户重新输入。这样可以避免因输入非法导致程序异常停止。例如:
while (!scanner.hasNextInt()) {
System.out.println("输入不是数字,请重新输入:");
scanner.next(); // 读取错误的输入并丢弃
}
int num = scanner.nextInt();
如何在控制台同时输入两个数字并用空格分隔读取?
想要在控制台一次性输入两个数字,中间用空格分隔,Java程序怎么处理这种输入?
利用Scanner的nextInt连续读取多个数字
Scanner在读取输入时,空白符(空格、换行)会作为分隔符,因此只要用户输入两个数字并由空格分隔,比如"10 20",调用scanner.nextInt()两次就能依次获取这两个数字。例如:
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
System.out.println("数字1: " + num1 + ", 数字2: " + num2);