Java do while loop赢了';t循环-Java(所有int)

Java do while loop赢了';t循环-Java(所有int),java,loops,int,do-while,Java,Loops,Int,Do While,菜单选项的代码不会循环,但没有错误。我故意写了类似于我的while循环的东西,循环得很好。我只需要使用整数,我的导师告诉我把输入变成变量。大部分工作还没有完成,但我在努力解决这一问题的同时也在努力 //Loop to check user input num=-1; while (num<0) { //Getting user entered interger System.out.print("Please enter a positive numbe

菜单选项的代码不会循环,但没有错误。我故意写了类似于我的while循环的东西,循环得很好。我只需要使用整数,我的导师告诉我把输入变成变量。大部分工作还没有完成,但我在努力解决这一问题的同时也在努力

  //Loop to check user input
  num=-1;
  while (num<0)
  {
     //Getting user entered interger
     System.out.print("Please enter a positive number: ");
     num = kb.nextInt();

        //Ensuring positive interger
        if (num >= 0)
        {
           System.out.println("You've entered the number " + num + ".");
        }

        else
        {
           System.out.println("Error! The number you've entered is not a valid interger.");
         }   

   }
   copy = num;

  //Printing menu loop
  copy2 = -1;
  do
  {

     //Menu making
     System.out.println(" ");
     System.out.println("1. Enter a new number.");
     System.out.println("2. Print the number of odd digits, even digits, and zeros in the interger.");
     System.out.println("3. print if the number is light or heavy.");
     System.out.println("4. Print the prime numbers between 2 and the interger (inclusive).");
     System.out.println("5. Quit the program.");
     System.out.println(" ");
     System.out.print("Please enter your menu choice: ");
     choice = kb.nextInt();
     copy2 =choice;

        //Checking entry
        if (0<copy2 && copy2<=5)
        {
           System.out.println("You chose option " +copy2+".");
        }                

              //Option one
              if (copy2 == 1)
              {
                 System.out.print("Will work on soon.");
               }

              //Option two
              if (copy2 == 2)
              {
                 oddNum=0;
                 evenNum=0;
                 zero=0;
                 while (copy>0)
                 {
                    if (copy %10==0)
                    {
                       zero++;
                    }
                    else if (copy %2==1)
                    {
                      evenNum++;
                     }
                     else
                     {
                       oddNum++;
                      }
                   }
                   copy = copy/10;
                   System.out.println("Even numbers: " + evenNum+
                                               "\nOdd numbers: "+ oddNum + 
                                               "\nZeros: " +zero ); 
                }

                 //Option three
                 if (copy2 == 3)
                 {
                     loh = 0;
                     do
                     {  
                       System.out.println("To check if your number is light or heavy, we need a second interger.");
                       System.out.print("Please enter a second positive interger: ");
                       loh = kb.nextInt(); 

                          if (loh >= 0)
                          {
                             numWeight = ((loh +copy)/2);
                             //Test num weight
                             System.out.println("Check: " +numWeight);

                                   if (numWeight > copy)
                                   {
                                   System.out.print("The number " + copy + " compared to the number "
                                                             + loh + " is a heavy number.");
                                   }
                                   else
                                   {
                                   System.out.print("The number " + copy + " compared to the number "
                                                              + loh + " is a light number.");
                                   }
                              }
                             if (loh < 0)
                             {
                              System.out.println("Error! The number you've entered is not a valid interger.");
                              }     
                       }while (loh <=0);
                    }

                   //Option four
                  if (copy2 ==4)
                  { 
                   primeNumbers = 0;
                   for (int i=1; i<=copy; i++)
                   {
                      int counter = 0;
                      for(int prime = i; prime>=1; prime--)
                      {
                         if (i%prime==0)
                         {
                            counter = counter +1;
                          }
                       }
                       if (counter==2)
                       {
                         primeNumbers = primeNumbers + i;
                        }
                     }
                   System.out.println("Prime numbers from 2-"+copy+" are: ");
                   System.out.println(primeNumbers);
                   }

                   //Option five


        else
        {
        System.out.print("Error! Please enter a valid menu option.");
        }

     }while (copy2 <0 && copy2 >=6);    

   }//End main
}//End class
//检查用户输入的循环
num=-1;
while(num=0)
{
System.out.println(“您已经输入了数字“+num+”);
}
其他的
{
System.out.println(“错误!您输入的数字不是有效的整数。”);
}   
}
copy=num;
//打印菜单循环
copy2=-1;
做
{
//菜单制作
System.out.println(“”);
System.out.println(“1.输入一个新号码”);
System.out.println(“2.打印整数中的奇数、偶数和零的数量。”);
System.out.println(“3.如果数字较轻或较重,则打印”);
System.out.println(“4.打印2和整数(含)之间的素数)。”;
System.out.println(“5.退出程序”);
System.out.println(“”);
System.out.print(“请输入您的菜单选项:”);
choice=kb.nextInt();
copy2=选择;
//检查条目
如果(0=0)
{
数值=((loh+副本)/2);
//测试数量重量
System.out.println(“检查:+numWeight”);
如果(numWeight>复制)
{
系统输出打印(“数字”+副本+“与数字比较”
+loh+“是一个沉重的数字。”);
}
其他的
{
系统输出打印(“数字”+副本+“与数字比较”
+loh+“是一个轻数。”);
}
}
如果(loh<0)
{
System.out.println(“错误!您输入的数字不是有效的整数。”);
}     

}while(loh您应该使用switch-case。嵌套if/else不是菜单选项的好主意,但是switch-case可以让您更清楚地了解您要做什么

 switch (num) {
      case c1:
            statements // they are executed if variable == c1
            System.out.println("1. Enter a new number.");
            break;
      case c2:
            System.out.println("2. Print the number of odd digits, even digits, and zeros in the interger."); 
            statements // they are executed if variable == c2
            break;
      case c3:
      case c4:        
            statements // they are executed if variable ==  any of the above c's
            break;
      . . .
      default:
            statements // they are executed if none of the above case is satisfied
            break;
    }
while(copy2=6);
这永远不会是真的。请尝试查找一个同时小于零且大于或等于6的数字。