System.out.print("")
ничего не делает, поэтому ваш первый цикл можно переписать следующим образом:
int div = 10;
for (; div < value; div += 10)
;
Эффект этого кода состоит в том, что div
- это значение value
, округленное доБлижайшее кратное 10. Это можно вычислить следующим образом, используя int
math (где деление на 10 округлений вниз):
int div = (value + 9) / 10 * 10;
Исходный код приведет к минимальному значению 10
, поэтомуесли value <= 0
формула будет вычислена неправильно.Мы можем использовать троичный условный оператор для учета этого:
int div = (value <= 10 ? 10 : (value + 9) / 10 * 10);
Итак, сокращенная версия вашего кода становится:
Scanner keyboard = new Scanner(System.in);
int value = keyboard.nextInt();
int limit = keyboard.nextInt();
for (int div = (value <= 10 ? 10 : (value + 9) / 10 * 10); div <= limit; div += 10)
System.out.println(div);
keyboard.close();