#java #eclipse
#java #eclipse
Вопрос:
Я работал над небольшим проектом, ничего сумасшедшего, просто небольшая вещь, чтобы показать своим друзьям, и у меня возникла проблема, когда я попытался создать две разные возможности. Я пытался сделать так, чтобы, если в параметре number grenerator появилось число 1, использовался другой метод, чем если бы он выдавал другое число. Однако, когда я попробовал это, оба метода сработали. Я надеялся, что есть другой способ, которым я мог бы попробовать это. Дайте мне знать, если у вас есть какие-либо идеи.
Я проверил в своих книгах по Java, которые меня обучают, и онлайн в «Stackoverflow» и в общих поисках.
public static void main(String args[]) {
Scanner keyboard = new Scanner(System.in);
Random myRandom = new Random();
long randomNumber;
System.out.println("What is your question my puppet?");
keyboard.nextLine();
randomNumber = myRandom.nextInt(10);
if (randomNumber ==1) {
System.out.println("Try rewordding that, it doesn't sound right");
keyboard.close();
}
if (randomNumber > 5) {
System.out.println("Ah, I can sense that yes is the answer you're looking for.");
} else {
System.out.println("Ah, I can sense that no is the answer you're looking for.");
}
keyboard.close();
}
}
Я ожидаю, что если выбрано число 1, появится сообщение «Попробуйте изменить это, это звучит неправильно», но поскольку оно также соответствует критериям для числа меньше 5, на которое появляется это сообщение.
Комментарии:
1. Отделите его от
if, else-if
цепочки. Также не закрывайтеScanner
чтение изSystem.in
.
Ответ №1:
Добавьте else
перед вторым (в настоящее время независимым) if
. Нравится,
if (randomNumber == 1) {
System.out.println("Try rewordding that, it doesn't sound right");
// keyboard.close(); // not needed you have another close call later.
} else if (randomNumber > 5) {
// ...