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.


EDIT: I managed to get everything working fine with this code:

    public void showUpdatedStatus()
    {
        
        if(((itsUsersNumber - itsSecretNumber) <= 2) && ((itsUsersNumber -itsSecretNumber) >= -2))
            JOptionPane.showMessageDialog(null, "You're hot!");
        else if (((itsUsersNumber - itsSecretNumber) <= 6) && ((itsUsersNumber -itsSecretNumber) >= -6))
            JOptionPane.showMessageDialog(null, "You're warm.");
        if ((itsUsersNumber - itsSecretNumber) < -6)
            JOptionPane.showMessageDialog(null, "Too low.");
        else 
            TooHigh();
    }
    
    public void TooHigh()
    {
        if ((itsUsersNumber - itsSecretNumber) > 6)
        {
            itsLieNum = randy.nextInt(3);
            if(canLie && itsLieNum == 1){
                canLie = false;
                JOptionPane.showMessageDialog(null, "Too low.");}
            else{
                canLie = true;
                JOptionPane.showMessageDialog(null, "Too high.");}
        }
    }

Thanks to rolfl