java - 在 Do while 循环验证中添加 Int 验证
问题描述
import java.util.Scanner;
import java.util.*;
public class ICT2100_LabTutorial2 {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.println("Enter your title: ");
String title = input.nextLine();
int page;
int counter = 1;
String value;
do{
System.out.println("Chapter " + counter++);
value = input.nextLine();
if(value.length() > 44)
{
System.out.println("More than 44 characters");
}
System.out.println("Enter a page number: ");
page = input.nextInt();
while((page < 1) && (page > 1500)){
System.out.println("Enter a page number that is between 1 to 1500: ");
page = input.nextInt();
}
}while(!value.equals("END"));
System.out.println("you ended the process");
}
}
我正在尝试将页码添加到我的代码中,而如果它不是 1 到 1500 的数字,代码将告诉用户再次输入页码。
我能够正确运行代码并且可以在没有页面计数器的情况下结束程序,但是一旦我添加到页面计数器段中,程序就会中断或无法按预期运行。
编辑:显然,您必须在input.nextLine();
之后添加input.nextInt();
程序才能真正继续并获取下一条指令,而不是陷入循环。如果我错了,请纠正我,仍在学习并感谢所有帮助。
解决方案
利用
while((page < 1) || (page > 1500)) {
...
}