Как ввести аргументы в cmd / sudo и использовать их во время выполнения? (Java) - PullRequest
0 голосов
/ 17 января 2020

У меня есть этот код:

public class CalculatingApp {
    public static void main(String[] args) {
        AtomicInteger result = new AtomicInteger();

        int valueA = Integer.parseInt(args[0]);
        String operation = args[1];
        int valueB = Integer.parseInt(args[2]);

        if ("add".equals(operation)) {
            result.set(valueA + valueB);
        } else if ("subt".equals(operation)) {
            result.set(valueA - valueB);
        } else if ("mult".equals(operation)) {
            result.set(valueA * valueB);
        } else if ("div".equals(operation)) {
            result.set(valueA / valueB);
        } else {
            System.out.println("Incorrect input");
        }

        System.out.println(result.get());
    }
}

Я использую терминал IDEa для следующих команд:

javac CalculatingApp. java

java CalculatingApp 5 add 10

Но вывод на консоль:

Ошибка: произошла ошибка JNI, пожалуйста, проверьте вашу установку и попробуйте снова Исключение в потоке "main "java .lang.UnsupportedClassVersionError: CalculatingApp был скомпилирован более поздней версией Java Runtime (версия файла класса 57.0), эта версия Java Runtime распознает только версии файла класса вплоть до 52.0

Java - версия:

java версия "1.8.0_51" Java (TM) SE Runtime Environment (сборка 1.8.0_51-b16) Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 25.51-b03, смешанный режим)

Вы можете найти другие ошибки.

1 Ответ

1 голос
/ 17 января 2020

Выглядит, что код скомпилирован JAVA8, но выполняется на Java 13.

Попробуйте java -версию в терминале IDEA, чтобы посмотреть версию java.

...