Java中的循环中断

黑天鹅
    import java.util.Scanner;
    import java.util.Random;
    public class CoinTossing 
     {
      static enum Status {HEADS,TAILS};
      static Status Coin;
      static int toss;
      public static void main(String []args)
       {
        Scanner input = new Scanner (System.in);
        Random ranDom = new Random();
        CoinTossing call = new CoinTossing ();
        int heads=0;
        int tails=0;
        int choice;
        int tossTimes=1;
        int loop=1;
        System.out.printf("Toss the Coin.\n1.YES\n2.NO\n");
        choice=input.nextInt();

        while(choice!=2)
         {
           System.out.printf("Toss Times :%d",tossTimes);
           ++tossTimes;
           call.flip(ranDom);
            if(Coin==Status.HEADS)
             {
               ++heads;
             }
            if(Coin==Status.TAILS)
             {
               ++tails;
             }

           System.out.printf("Heads :%d\n",heads);
           System.out.printf("Tails :%d\n",tails);

           System.out.printf("\nToss the Coin.\n1.YES\n2.NO");
           choice=input.nextInt();

           if(choice !=1 && choice!=2)
             {
            for(loop=1;loop<=3;loop++)//give 3 chance for input
             {
                System.out.printf("Wrong Input:%d\n",loop);
                System.out.printf("Please give input btween 1 and 2\n");
                choice=input.nextInt();

                if(choice ==1 | choice ==2)
                {
                    break;
                }
              }
             }

            if(loop==3)
             {
               System.out.printf("Due to wrong Input Program has terminated.\n");
               break;
             }
          }
        System.out.printf("\nTotal Tossed Times:%d\n",tossTimes-1);
        System.out.printf("Total Heads         :%d\n",heads);
        System.out.printf("Total Tails         :%d\n",tails);
       }

       Status flip(Random ranDom)
        {
         toss=ranDom.nextInt(2);
         System.out.printf("\nToss:%d\n",toss);
         if(toss==1)
        {
        Coin=Status.HEADS;
        //return Coin;
        }
       if(toss==0)
        {
        Coin=Status.TAILS;
        //return Coin;
        }
      return Coin;

      }
  }

这是一个抛硬币的代码,它提示用户首先放入不带2的任何东西进行抛掷。在第一次输入后,用户只能输入1和2。如果输入了其他的1和2,它将给用户另一种尝试。它将有3次机会。如果3次错误输入,程序将终止。但问题是它不会在3次错误输入后终止。这将是输入选项。

范·邓

错误是:

 for(loop=1;loop<=3;loop++)

它应该是

 for(loop=0;loop<3;loop++)

因为,当您退出此循环时,loop等于4,因此以下条件不成立:

 if(loop==3)//you will never enter this if, as loop is 4

或者,您可以将条件更改为

 if(loop == 4)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

java循环中断与if语句?

来自分类Dev

循环python中的循环中断

来自分类Dev

php中的循环中断问题

来自分类Dev

在foreach()循环中中断if

来自分类Dev

java中中断的方法,在while循环中使用时会不会中断线程?

来自分类Dev

连续输入错误时,循环中断java

来自分类Dev

在循环中遇到问题并在php中中断

来自分类Dev

for 循环中的条件继续中断函数中的 errexit

来自分类Dev

循环中断在结束之前

来自分类Dev

如何避免循环中断?

来自分类Dev

延迟 for 循环中断函数

来自分类Dev

在循环中中断 <option> 项

来自分类Dev

用循环中断程序

来自分类Dev

在while循环中中断while循环

来自分类Dev

使用/ dev / urandom是否会破坏bash循环?(在非编程术语中为循环中断而中断)

来自分类Dev

在Java中的while循环中访问值?

来自分类Dev

在Java中的for循环中显示BufferedImages数组

来自分类Dev

StringBuilder 在 Java 中的 for 循环中追加

来自分类Dev

在循环中调用 ssh 命令时 bash 循环中断

来自分类Dev

PHP从2个循环中断

来自分类Dev

单击按钮从循环中断-C#

来自分类Dev

返回true,然后从for循环中中断

来自分类Dev

在while循环中中断的奇怪行为

来自分类Dev

循环中断时整个程序暂停

来自分类Dev

如何从循环中断以停止程序运行

来自分类Dev

在循环中调用可中断的阻塞方法

来自分类Dev

Django Cycle作为循环中断工具

来自分类Dev

如何使用开关从while循环中中断?

来自分类Dev

如何在.forEach循环中模拟“中断”?