Вывод символа из слова в консоли

46
10 августа 2018, 21:20

Помогите написать программу ,которая будет запускаться из терминала или консоли. Она должна брать данные из строки запуска программы:

1 аргумент - слово

2 аргумент - целое число n

с проверкой корректности введенных данных (не используя регулярные выражения)

Итогом обработки должен быть вывод в консоль n-го символа из введенного слова:

"В слове <слово> <n>-й символ <символ>"

То есть, допустим в консоли вводим два аргумента:

Young 4

И получаем:

В слове Young 4 символ n

matches 0 - 9 надо заменить,т.к. - это регулярное выражение. Нужно упростить программу

public static void main(String[] args) {
    try {
        String text = args[0];
        if (!text.matches("[0-9]+")) {
            int n = Integer.parseInt(args[1]);
            if (text.length() < n) {
                System.out.println("V SLOVE " + text + " " + text.length() + " BUKV!");
            } else {
                getPositionText(text, n);
            }
        } else {
            System.out.println("V SLOVE " + text + " EST CIFRA");
        }
    } catch (Exception e) {
        System.out.println("PROPISHITE CIFRY");
    }
}
private static void getPositionText(String text, int count) {
    if (count != 0) {
        count = count - 1;
    }
    System.out.println("VCE OK " + text + " " + count + " SIMVOL : " + text.charAt(count));
}

}

Answer 1

Код:

public class MyClass {
    public static void main(String args[]) {
        // Аргументов может быть только 2
        if (args.length != 2) {
            System.out.println("Run with two arguments!");
            return;
        }
        String word = args[0];
        String posStr = args[1];
        int pos;
        // Проверка на корректное число
        try {
            pos = Integer.parseInt(posStr);
        } catch (java.lang.NumberFormatException e) {
            System.out.println("Invalid number: " + posStr);
            return;
        }
        char symbol = word.charAt(pos - 1);
        String text = String.format("В слове %s %s-й символ %s", word, posStr, symbol);
        System.out.println(text);
    }
}
READ ALSO
Класс CellRangeAddress библиотека POI

Класс CellRangeAddress библиотека POI

При записи в файл Excel воспользовался классом объединения ячеек CellRangeAddressВ объединенные ячейки было добавлено повторное значение:

9
MariaDB не берет текст на русском

MariaDB не берет текст на русском

Работаю с mariaDB из программы на JavaПри попытке ввода русских символов бросается исключение java

19
Java объединение WAV-файлов

Java объединение WAV-файлов

У меня есть метод, который объединяет несколько wav файлов в один:

19