Как инициализировать статические конечные переменные на основе CMD ARG?JAVA

Программисты JAVA общаются здесь
Anonymous
Как инициализировать статические конечные переменные на основе CMD ARG?

Сообщение Anonymous »

Краткое описание курсовой работы требует, чтобы я назначил дополнительный аргумент CMD статической конечной переменной. < /p>

Я попытался сделать это в main (), но компилятор жалуется, «не может присвоить значение конечной переменной». Я пытался сделать это статическим методом, называемым main (), но та же ошибка. Я слышал о статических блоках, используемых в других ответах, но мне нужно иметь возможность достичь ARGS CMD, когда я решаю, что назначить. У меня также есть некоторые головные боли из -за анализа аргументов, так как оба аргумента должны иметь значения по умолчанию, если они не предоставлены. Любой бонусный совет очень приветствуется.public class FibonacciNim {
private static Scanner myScanner = new Scanner(System.in);
private static final int NO_OF_HEAPS;
private static final int TOKENS_PER_HEAP;

public static void main(String[] args) {
// set heaps and tokens using args
if (args.length == 0) {
NO_OF_HEAPS = 3;
TOKENS_PER_HEAP = 9;
} else {
boolean usageCorrect = false;
for (int i = 0; i < args.length-1; i++) {
if (args.equals("-heaps")) {
try {
NO_OF_HEAPS = Integer.parseInt(args[i+1]));
usageCorrect = true;
} catch (NumberFormatException e) {
usageCorrect = false;
}
} else if (args.equals("-tokens")) {
try {
TOKENS_PER_HEAP = Integer.parseInt(args[i+1]);
usageCorrect = true;
} catch (NumberFormatException e) {
usageCorrect = false;
}
}
}
}

...

}

...

}
< /code>

Спасибо за чтение! < /p>

Подробнее здесь: https://stackoverflow.com/questions/587 ... n-cmd-args

Вернуться в «JAVA»