我正在开发一个程序,帮助客人报名参加聚会。
该方必须存在于数据中
当然,想要的门票数量必须少于可用的门票数量
我真的很难再添加一个条件 - 检查输入是否高于 0。
我已将整个 for 循环放入另一个 if 语句中,如您所见: if(需要门票 > 0)
如果输入的值小于 1,则会打印“请输入正数”
但是,它还会打印“此聚会不存在或已满。”再次..
基本上是在System.out.println("请输入正数");之后 我希望程序提供一个选项来再次输入数字,直到结果为正
这是我的问题:
如何使用 while 循环使其循环直到输入正数?
是否有更有效/更好的方法来完成我想做的事情?
谢谢
private static void signUp2(Guest validGuest){
input.nextLine();
System.out.println("Enter the name of the party");
String partyName = input.nextLine();
System.out.println("How many tickets the guest wishes to purchase?");
int ticketsWanted = input.nextInt();
boolean check = false;
if(ticketsWanted > 0) {
for(Party p: parties){
if(p.getPartyName().equals(partyName)){
if(ticketsWanted > e.getTickets()){
}
else{
check = true;
validGuest.AddPartiesAndTickets(p, ticketsWanted);
}
}
}
}
else{
System.out.println("Please enter a positive number");
}
if(check == false){
System.out.println("This party does not exist or is fully booked.");
最佳答案
添加方法:
int getNumberTickets() {
System.out.println("How many tickets the guest wishes to purchase?");
int ticketsWanted = input.nextInt();
return(ticketsWanted);
}
并使用以下方式调用它:
int ticketsWanted = 0;
do {
try {
ticketsWanted = getNumberTickets();
if (ticketsWanted < 1)
throw new RuntimeException("Unused");
catch(Throwable e) {
ticketsWanted = -1;
System.out.println("Invalid amount");
}
while (ticketsWanted < 1);
// now do your checks
关于Java,使用多个条件语句,while循环,for循环,if语句的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47800297/