У меня проблема с моим кодом, где я не могу выйти из цикла. Я должен создать программу, в которой я вводил число, и затем меня попросят ввести нечетное значение, большее, чем первое значение. Например, я вводил 12, и для завершения программы я должен ввести 13, 15, 17 или любое нечетное число, большее 12. Если я ввожу число, даже он говорит мне попробовать еще раз. если я вводим нечетное число (3) ниже значения (12), он говорит мне, что мне нужно ввести значение больше 12.can not get do do While Loop
Я знаю, как логика этой программы работает, ну, я думаю, что я делаю это правильно. Хорошо, когда я запускаю программу и ввод 12, например, а затем введите следующее значение (15), он делает то, что должен делать. но я вводил 12, а затем вводил число ниже 12, например 3 или или четное число вместо нечетного значения, большего 12, он продолжает говорить мне, чтобы повторить попытку, даже я ввожу хорошее значение, например 15. В принципе цикл продолжает повторяться это снова и снова.
Я новичок в java, поэтому мне трудно понять, что я делаю неправильно. я исследовал while, но я не могу понять, как выйти из циклов.
это мой код.
import java.util.*;
public class bonus2 {
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
System.out.print("Please Enter any number: ");
int theValue = getBigOddValue(0);
System.out.printf("The Value gotten was %d. \n", theValue);
}
private static int getBigOddValue(int value) {
value = input.nextInt();
System.out.printf("Enter an odd number greater than " + value + ": ");
int cutoff = input.nextInt();
int val = cutoff;
while (val % 2 == 0){
System.out.printf("The number is even. Try again: ");
input.nextInt();
}
while (val<value){
System.out.printf("The number must be greater than " + value
+ ". Try again: ");
input.nextInt();
}
return cutoff;
}
SAMPLE RUNS (как должны выглядеть мои пробежки).
**Call (and return displayed):**
theValue =getBigOddValue(14);
System.out.printf("The value gottenwas %d.\n",theValue);
**Machine-user interaction of above:**
Enter an odd number greater than 14: 2
The number is even. Try again: 28
The number is even. Try again: 11
The number must be greater than 14. Try again: 3
The number must be greater than 14. Try again: 18
The number is even. Try again: 9
The number must be greater than 14. Try again: 19
The value gotten was 19.
Если вы удалили свой код, вы сделали этот вопрос недействительным. Если безопасность важна для вас, сохранение чистоты и значимого веб-сайта является импортом для участников SO. Удалите свой вопрос. – Siddharth
Я не могу, потому что он говорит, что у него уже есть ответы. – Guille
Напишите на meta.stackoverflow.com. Они могут помочь. – Siddharth