Мне нужно добавить метод в мою игру догадки, которую я сделал некоторое время назад. Метод должен возвращать введенное значение, но должен использовать цикл, чтобы потребовать повторного ввода, пока не будет указано одно из этих двух значений. Также, если пользователь вводит слово, а не int, он должен запросить номер. Я знаю, что мне нужно будет использовать строку вместо int. У меня просто возникают проблемы с этим. Вот то, что я до сих пор:Угадай игру, добавив метод
import java.util.Random;
import java.util.Scanner;
class GuessNumber {
static Random rand = new Random();
static Scanner scan = new Scanner(System.in);
static int number;
public static void main(String[] args) {
playGame();
}
public static void playGame() {
number = rand.nextInt(100) + 1;
System.out.println("Guess the number between 1 and 100");
while (true) {
int guess = scan.nextInt();
if (guess < number) {
System.out.println("Higher!");
} else if (guess > number) {
System.out.println("Lower!");
} else if (guess == number) {
System.out.println("Correct!");
Scanner scan2 = new Scanner(System.in);
System.out.println("do you wanna play again?[Y/N]");
String val = scan2.next();
if (val.equalsIgnoreCase("Y")) {
playGame();
} else {
break;
}
}
}
}
}
... И? Здесь есть вопрос? – Qix
@Qix Это, видимо, часть игры угадывания, которую он сам ... – MadProgrammer
Если вы знаете, что вам придется использовать String вместо int, начните с перезаписи кода, чтобы отразить то, что вы (правильно) знаете, вам понадобится. Затем используйте свой интернет-поиск Fu, чтобы узнать о методе parseInt() String. Возьмите несколько минут, чтобы прочитать, что вы найдете, и подумайте о том, как вы можете использовать parseInt(), чтобы вывести ввод String в число, которое вы можете сравнить. Кроме того, просмотрите метод compare() String, чтобы увидеть, является ли одна строка лексикографически более высокой, более низкой или той же, что и другая String. – MarsAtomic