Java,使用多个条件语句,while循环,for循环,if语句的问题

标签 java for-loop if-statement while-loop

我正在开发一个程序,帮助客人报名参加聚会。

该方必须存在于数据中

当然,想要的门票数量必须少于可用的门票数量

我真的很难再添加一个条件 - 检查输入是否高于 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/

相关文章:

python - 我正在尝试使用 for 循环打印 .txt 文件的多行。它总是缺少最后三行

java - Eclipse Java 调试器使 if 语句条件为 true

java - java中的循环if和else语句

r - 如何忽略 rbind 函数中丢失的工作表?

java - 无法使用 PhantomJS Webdriver 和 Java 提交表单

java - 如何在android中使用传感器加速度计检测运动

java - lambda 性能的差异?

用于检查变量名称有效性的 Java 正则表达式

java - 在接收器代码中取消注册接收器

c++ - For 循环不会在 C++ Arduino 中停止