My assignment is to get a random number and have a user guess it. Firstly what is wrong with my else statement? It looks like it should work. Secondly the whole loop will just stop prompting for a guess sometimes even if you haven't guessed correctly or will ask you to guess again if you do get it right (i used a println to show the random letter for troubleshooting purposes). Thanks for the help!
import java.util.Scanner;
import java.util.Random;
public class RandoTest {
public static void main(String[] args) {
Random rnd = new Random();
char c = (char) (rnd.nextInt(26) + 'a');
int d = (char) c;
Scanner scan = new Scanner(System.in);
System.out.println("Enter a letter (upper or lower case): ");
char input = scan.next().trim().charAt(0);
char low = Character.toLowerCase(input);
int value = (char) low;
if(d>value)
{
System.out.println("Your guess comes after the secret letter");
System.out.println("Enter a letter (upper or lower case): ");
input = scan.next().trim().charAt(0);
low = Character.toLowerCase(input);
value = (char) low;
}
else if(d<value)
{
System.out.println("Your guess comes before the secret letter");
System.out.println("Enter a letter (upper or lower case): ");
input = scan.next().trim().charAt(0);
low = Character.toLowerCase(input);
value = (char) low;
}
else(value == d)
{
System.out.println("You guessed it! \nThe letter was " + c);
}
}
}
Aucun commentaire:
Enregistrer un commentaire