I am supposed to take this code (that I made): public void showUpdatedStatus() { if(((itsUsersNumber - itsSecretNumber) <= 2) && ((itsUsersNumber - itsSecretNumber) >= -2)) JOptionPane.showMessageDialog(null, "You're hot!"); if (((itsUsersNumber - itsSecretNumber) <= 6) && ((itsUsersNumber - itsSecretNumber) >= -6)) JOptionPane.showMessageDialog(null, "You're warm."); if ((itsUsersNumber - itsSecretNumber) < -6) JOptionPane.showMessageDialog(null, "Too low."); if ((itsUsersNumber - itsSecretNumber) > 6) JOptionPane.showMessageDialog(null, "Too high."); } And change it so it does this: > Have the program lie one-third of the time that the guess is too high; > it says it is too low. But it never lies about the guess being too > low, nor does it lie twice in a row. I believe I have managed to do this with this method for checking whether the guess is "too high." public void TooHigh() { int numLies = 1; if ((itsUsersNumber - itsSecretNumber) > 6) { itsLieNum = randy.nextInt(2); if(itsLieNum == 1 && numLies == 1){ numLies = 2; JOptionPane.showMessageDialog(null, "Too low.");} else numLies = 1; JOptionPane.showMessageDialog(null, "Too high."); } } I just want to know whether or not it seems like it would work fine. I would just test it, but it would probably take me quite a while to make sure that it not only works 1/3 of the time, but also that it doesn't do it twice in a row.