我的程序需要获取有关用户输入的汽车数量的信息。我使用for循环使其运行该数量,但是当要求获取信息时,程序将运行整个过程并且不会停止供用户输入。这是我的代码:
public class Main {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("HH:MM:SS");
final int distance = 1609;
Scanner scan = new Scanner(System.in);
System.out.println("How many cars entered the gate?");
int x = scan.nextInt();
for (int c = 0; c < x; c++) {
System.out.println("Please input the time the car entered the zone: (HH:MM:SS)");
String start = scan.nextLine();
System.out.println("Please input the time the vehicle left the zone: (HH:MM:SS)");
String stop = scan.nextLine();
}
}
}
答案 0 :(得分:3)
您需要添加额外的scan.nextLine()
才能使用\n
消费的scan.nextInt()
字符:
int x = scan.nextInt();
scan.nextLine(); // consume the newline character
答案 1 :(得分:0)
使用“nextInt”函数解决此问题的另一种方法是将“nextLine”输入解析为Int类型
尝试int x = Integer.parseInt(scan.nextLine());
而不是int x = scan.nextInt();