这是我为类创建的一个小游戏 - 除了如果猜数字==不显示消息框,程序将跳过它并转到下一条有关总猜测的消息,等等......我的逻辑有些问题,但我很困难。我觉得我已经尝试了一百万的东西..任何帮助,请将如此赞赏。如果分支在循环中跳过
import java.util.Random;
import javax.swing.JOptionPane;
public class GuessingGameTestMyIdeas {
public static void main(String[] args) {
Random rand = new Random();
int number = rand.nextInt(32)+1;
int guessCount = 0; // total count variable
int lessCount = 0; // number of less than guesses
int moreCount = 0; // number of greater than guesses
String guessString = JOptionPane.showInputDialog("Guess the number I'm thinking of, between 1 and 32: ");
int guess = Integer.parseInt(guessString) ;
while (guess != number){ //run this loop while guess is not equal to the random number generated.
if (guess == number){
JOptionPane.showMessageDialog(null, "You guessed correctly");
} else if (guess < number){
lessCount = lessCount + 1;
String lowString = JOptionPane.showInputDialog("Your guess is too low. Next Guess:");
guess = Integer.parseInt(lowString);
} else {
moreCount = moreCount +1;
String highString = JOptionPane.showInputDialog("Your guess is too high. Next Guess:");
guess = Integer.parseInt(highString);
}
guessCount += 1; // after each guess, the guessCount goes up by one
}
String output = "Your total number of guesses is " + guessCount + " with " + lessCount + " smaller guesses " + moreCount + " larger guesses.";
JOptionPane.showMessageDialog(null, output);
您是否尝试过使用调试器执行代码?如果你这样做,你会发现如果'guess == number',循环将退出并且'if'语句根本不会被执行。 – skyking 2015-08-21 07:36:06