Страницы

Поиск по вопросам

среда, 4 марта 2020 г.

Возрастающая последовательность Java

#java


Как можно проверить, образуют ли цифры возрастающую последовательность? 

Задание:
Написать консольную программу, определяющую, образуют ли цифры некоторого числа,
строго возрастающую последовательность.
Например: 446 - не образуют, 789 - образуют.

public class Check {

    private static double getNumber(String string) {
        return Double.valueOf(string);
    }

    public static void main(String[] args) {
        if(args.length == 1) {
            double number = getNumber(args[0]);
        }
        else {
            System.out.println("Input number");
        }

    }
}

    


Ответы

Ответ 1



Сравнивать остатки при делении на 10 boolean testIncreasing(int AVal) { byte oldNum = 11; byte curNum = 10; while (AVal > 0 && curNum < oldNum) { oldNum = curNum; curNum = AVal % 10; AVal /= 10 } return AVal == 0; }

Ответ 2



Как вариант, можно использовать и такое решение: String numberString = Integer.toString(number); return Stream.of(numberString.split("")) .distinct().sorted() .collect(Collectors.joining()) .equals(numberString);

Ответ 3



https://ideone.com/V0Q7Uk /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { private static void check(String num) { for (int q=0; q '9') { System.out.println("Invalid input: " + num); return; } else if (q > 0 && num.charAt(q) <= num.charAt(q-1)) { System.out.println("NO: " + num); return; } } System.out.println("YES: " + num); } public static void main (String[] args) throws java.lang.Exception { for (Scanner scanner = new Scanner(System.in); scanner.hasNextLine(); ) { check(scanner.nextLine()); } } }

Комментариев нет:

Отправить комментарий