rails 5.2.1
我正在尝试将页码添加到我的代码中,而该代码将告诉用户如果该数字不是1到1500时再次输入页码。
我能够正常运行代码,并且可以在没有页面计数器的情况下结束程序,但是一旦我添加到页面计数器段中,程序就会中断或无法正常运行。
编辑:显然,您必须在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");
}
}
之后添加input.nextLine();
,程序才能继续执行并获取下一条指令,而不会陷入循环中。如果我错了,请纠正我,仍在学习并感谢您的所有帮助。
答案 0 :(得分:2)
使用
while((page < 1) || (page > 1500)) {
...
}
答案 1 :(得分:1)
尝试使用Or条件代替and
while(page < 1 || page > 1500)
两个条件不能同时成立,因此用||删除&&如上所示。
答案 2 :(得分:1)
您正在使用AND operator
,当两个条件都为true时返回true。但是在您的情况下,当while loop
中的任何一个条件为true时,它应该返回true,而OR operator
就是这样做的。
因此,请使用OR operator (||)
取代while循环
while((page < 1) || (page > 1500)){
}