【问题标题】:How do I create a infinite loop in java如何在java中创建无限循环
【发布时间】:2014-05-17 04:09:00
【问题描述】:

我正在为我的学校作业编写一个使用 java 的简单程序。我找不到创建无限循环的方法。它是一个调查程序,我必须重新设计它,所以它不仅可以计算 5 个人,而且可以根据我的需要计算,直到我结束它。这是一个代码:

class morecoffee
{
   public static void main (String [] args)
   {  
        Scanner input = new Scanner(System.in); 

        int person, preference, nothing, sugar, sweetener, count, quit;

        nothing = sugar = sweetener = 0; 
        for (count = 1; count <=5; count++)
        {

            System.out.println ("How do you sweeten your coffee?");
            System.out.println ("1. I don't");
            System.out.println ("2. With sugar?");
            System.out.println ("3. With sweetener?");
            System.out.println ("4. Quit");

            preference = input.nextInt();

            if (preference == 1)
                  nothing++; 

                else if (preference == 2)
                        sugar++;
                else if (preference == 3)
                     sweetener++;

         if (preference == 4)
            count = 5;
        }
        count = count +1;
        System.out.println ("Survey Report");
        System.out.println ("=============");

        System.out.println (nothing + " person don't sweeten coffee");
        System.out.println (sugar + " person use sugar in coffee");
        System.out.println (sweetener + " person use sweetener in coffee");
    }   

【问题讨论】:

标签: java loops infinite


【解决方案1】:
for (;;)
    {

        System.out.println ("How do you sweeten your coffee?");
        System.out.println ("1. I don't");
        System.out.println ("2. With sugar?");
        System.out.println ("3. With sweetener?");
        System.out.println ("4. Quit");

        preference = input.nextInt();

        if (preference == 1)
              nothing++; 

            else if (preference == 2)
                    sugar++;
            else if (preference == 3)
                 sweetener++;

     if (preference == 4)
        break;
    }

【讨论】:

  • if (preference == 4) 循环应该会中断。
【解决方案2】:

为了让它无限期地运行

While(true){

}

当您希望它完成时,请使用关键字'break'。这打破了循环。你可以使用它:

if(preference==4){
    break;
}

【讨论】:

    【解决方案3】:
        int count = 0;
        while(true)
        {
            System.out.println ("How do you sweeten your coffee?");
            System.out.println ("1. I don't");
            System.out.println ("2. With sugar?");
            System.out.println ("3. With sweetener?");
            System.out.println ("4. Quit");
    
            preference = input.nextInt();
    
            if (preference == 1) {
                  nothing++; 
            } else if (preference == 2) {
                  sugar++;
            } else if (preference == 3) {
                  sweetener++;
            } else if (preference == 4) {
               break;
            }
            count++;
        }
    
        System.out.println ("Survey Report");
        System.out.println ("=============");
        System.out.println (nothing + " person don't sweeten coffee");
        System.out.println (sugar + " person use sugar in coffee");
        System.out.println (sweetener + " person use sweetener in coffee");
    

    如果答案为 4,则必须将循环更改为无限循环并添加 break

    【讨论】:

      【解决方案4】:

      改变

      for (count = 1; count <=5; count++)
      

      while (preference != 4)
      {
        // code
      ++count;
      }
      

      并删除

      if (preference == 4)
          count = 5;
      

      【讨论】:

      • 我需要这样做。我已经改了,但是还是不行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多