【发布时间】:2015-11-07 05:09:47
【问题描述】:
这个程序本质上是一个游戏,用户必须输入数字来查看哪些数字是好的:具有偶数个偶数的数字,以及具有奇数个奇数的数字。
首先,当我输入一个数字时程序结束,这不是故意的。我认为这与 while (n > 0) 有关。 if (numEven % 2 == 0......) 也可能存在问题,因为打印结果看起来几乎是随机的,有时数字很好,有时相同的数字不好。
老实说,我现在迷路了。非常感谢您的帮助。
更新:此代码按我的意愿运行,我只想感谢所有提供帮助的人!这是我第一个学期的计算机科学课,所以我在这方面还是很陌生...请原谅我可能很愚蠢的错误:)
package quackygame;
import java.util.Scanner;
public class QuackyGame
{
public static void main(String[] args)
{
System.out.println("Welcome to the Number Game!"
+ " Try to figure out the pattern "
+ "in the numbers that Wallace likes!");
Scanner scan = new Scanner (System.in);
int n;
int numEven = 0;
int numOdd = 0;
boolean isEven;
do
{
System.out.print("Enter a number > 0: ");
n = scan.nextInt();
while (n > 0)
{
if (n % 2 == 0)
{
//n is even
isEven = true;
numEven++;
}
else
{
//n is odd
isEven = false;
numOdd++;
}
n /= 10;
}
//if numEven is even and numOdd is odd
if (numEven % 2 == 0 && numOdd % 2 == 1)
System.out.println("Wallace liked your number!");
else
{
System.out.println("Wallace didn't like your number.");
}
numEven = 0;
numOdd = 0;
}
while (n >= 0);
}
}
【问题讨论】:
-
如果您的要求是
the program ends when 1 digit number entered那么为什么条件是n>0?应该是n>10吧? -
检查
n /= 10; -
如果您想确保人们知道您的问题已经得到解答,要么接受当前答案之一,要么做出自己的答案并接受。这将添加一个绿色复选标记,以便人们可以看到您对解决您的问题感到满意。您可以通过单击答案旁边的复选标记来接受答案。
标签: java while-loop digits