java新手,写学校作业时发现了这个问题
问题代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("请输入: ");
double a = reader.nextDouble();
System.out.print("请输入: ");
//这句话的输入被跳过了↓
String s = reader.nextLine();
}
}
运行时,发现第二个输入直接被跳过了
为了解决这个问题,我对Java中出现输入被跳过的情况进行了探究
先上结论
①Java中连续出现两个输入,部分情况下会出现第二个输入被跳过的情况
②输入被跳过的情况只会发生在出现nextLine()方法的情况下
③当nextLine();方法位于任意输入方法( nextXXX() )之后(不包括nextLine() )时,nextLine()方法会因为读取了回车而跳过输入
④简单的解决办法:把nextLine();换成next() 或者 写两个nextLine(),让第一个nextLine()吃掉回车
Ⅰ.两个数字的输入:
输入两个int类型的数据
Scanner reader = new Scanner(System.in);
System.out.print("输入数字: ")