Java do while loop赢了';t循环-Java(所有int)
菜单选项的代码不会循环,但没有错误。我故意写了类似于我的while循环的东西,循环得很好。我只需要使用整数,我的导师告诉我把输入变成变量。大部分工作还没有完成,但我在努力解决这一问题的同时也在努力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
//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的数字。