这个程序本质上是一个游戏,用户必须输入数字来查看哪些数字是好的:偶数个偶数的数字,奇数奇数数字。爪哇,偶数偶数,奇数奇数
因此,首先,程序结束时,我输入一个数字,这不是故意的。我认为这与这段时间有关(n > 0
)。 if(numEven % 2 == 0
......)也可能存在问题,因为打印结果看起来几乎是随机的,数字很好,而且有时候这个数字不太好。
老实说,我迷失在这一点上。提前感谢您的帮助。
UPDATE:此代码正在运行,我希望如此,我只想感谢所有帮助过的人!这是我的计算机科学课的第一学期,所以我还是比较新的,在此......原谅我的错误,很可能非常愚蠢的:)
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);
}
}
如果您的要求是“程序在输入1位数字时结束”,那么为什么条件是'n> 0'?它应该是正确的? – Rehman
检查'n = 10;' – Sekula1991
如果您想确保人们知道您的问题已得到解答,请接受当前答案之一或自己做出答案并接受。这将添加一个绿色的复选标记,以便人们看到你满意,解决了你的问题。您可以通过点击答案旁边的复选标记来接受答案。 –