Программа должна работать, пока условие не будет выполнено. Я думал, что я должен использовать «while» l oop, но не очень хорошо
В вашем текущем коде случайные значения для a
и b
были сгенерированы только один раз и делают не обновляться. Следовательно, если a
окажется больше b
, вы получите бесконечное l oop с бесконечными выходными данными. Если a
окажется меньше, чем b
, вы вообще не получите никакого вывода.
Вам нужно повторно рандомизировать значение a
и b
после каждого раунда looping.
Преимущество использования while-loop
заключается в том, что необходимо убедиться, что условие l oop оценивается как true
(т. е. a
больше b
) для кодов в l oop, который будет выполнен.
Чтобы преодолеть это, вы можете использовать do-while-loop
, чтобы не беспокоиться о начальных значениях для a
и b
:
public class Ex7 {
public static void main(String[] args) {
Random rand = new Random();
int a = 0;
int b = 0;
do{ //run first
a = rand.nextInt(401) + 100;
b = rand.nextInt(401) + 100;
System.out.println("B value: " + b);
}while (a > b); //then check condition whether to continue running
}
}