Как найти числа в массиве, цифры в которых идут в строгом порядке возрастания?
Есть задача следующего толка:
Ввести с клавиатуры произвольное количество чисел затем найти и вывести в консоль числа, цифры в которых идут в строгом порядке возрастания. Например: 321 354 245 159 8, нужно вывести 245 159.
На данный момент пока не понимаю как найти эти самые числа... Вот мой пример кода:
public static void main(String[] args) {
System.out.println("Введите числа через пробел и нажмите Enter:");
Scanner scan = new Scanner(System.in);
String lineOfNumbers = scan.nextLine();
String[] numbers = lineOfNumbers.split(" ");
char[] element;
ArrayList list = new ArrayList();
for (int i = 0; i < numbers.length; i++) {
element = numbers[i].toCharArray();
//что тут надо сделать???
}
}
Ответы (1 шт):
Автор решения: Дмитрий
→ Ссылка
Для этого лучше написать отдельный метод. По сути все что нужно, это итерироваться и следить за тем, чтобы предыдущее число всегда было меньше следующего.
public static void main(String[] args) {
System.out.println("Введите числа через пробел и нажмите 'Enter': ");
Scanner scaner = new Scanner(System.in);
for (String number : scaner.nextLine().split(" ")) {
if (check(number)) System.out.println(number);
}
}
private static boolean check(String numbers) {
int prev = Integer.MIN_VALUE;
for (char ch : numbers.toCharArray()) {
if (prev > ch) return false;
prev = ch;
}
return true;
}