У меня есть простая игра с гаданием. У него есть функция спросить, хотите ли вы советы. Он сохраняет ответ в boolean
, называемом tips
, как показано.
while (run) {
while (tinvalidrun){
System.out.println("Do you want any tips? y or n?");
input=in.next();
switch(input){
case "y":
System.out.println("Ok, we will tell you how close you are!");
tinvalidrun=false;
tips=true;
break;
case "n":
System.out.println("Wanna go hard eh? Well, go along!");
tinvalidrun=false;
break;
default:
System.out.println("You pressed the wrong key!\nDo you have butter fingers?");
}
}
Затем у меня есть еще один код, который делает больше переменных и делает случайное число. И, наконец, я получаю пользовательский ввод для догадки и тестирую его:
do {
System.out.println("Enter a number: ");
guess = in.nextByte();
times++;
if (guess == gval) {
break;
} else {
System.out.println("No luck! Try again!");
if (tips=true) {
if (guess < gval) {
System.out.println("You are too low!");
}
else {
System.out.println("You are too high!");
}
}
}
Я попытался поставить tips=true
и guess < gval
в один if
с помощью &&
, но он не работает. Я сделал это:
if(guess<gval && tips=true)
Он просит меня заменить =
на <=
или что-то в этом роде. Я пытался использовать два оператора if
, но когда вы говорите "нет", он все еще показывает советы. Я попытался взглянуть на скобки, но они выглядят отлично. Пожалуйста помоги! Если есть какие-либо упрощения или улучшения или идеи, которые я могу сделать с моим кодом, они приветствуются.
У меня есть еще вопрос. Он падает (очевидно), когда вы пытаетесь ввести письмо в целое число. Я попытался использовать строки и мой цикл tinvalidrun
, чтобы избежать этого, но я не могу. Есть ли способ сделать это?
Благодарю!:)