Кажется, что я что-то испортил, когда я запускаю код, который он выдает из строя в моем первом операторе if, при этом вывод «должен иметь 2 cmd строки args».Как сделать так, чтобы он принимал как аргументы командной строки
Im пытается выяснить, где я запутался, и, к сожалению, я нахожусь на рабочем столе, который не позволит мне использовать netbeans или eclipse, чтобы попытаться исправить эту проблему. в основном, я хочу, чтобы он принимал оба аргумента командной строки, когда я ввожу их после получения моего запроса о том, какие значения будут иметь значения X и Y.
Вот мой код:
import java.util.*;
public class GenerationX {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println(" What numbers would you like to enter? Remember you need an 'X' and a 'Y' input: ");
int i;
int num = 0;
String str = " ";
int j = input.nextInt();
int k = input.nextInt();
if(args.length < 2) { //exits if less than two args entered
System.out.println("must have two cmd line args");
System.exit(0);
} else {
Random random = new Random();
int repeat = validateArg(args[0]);
int range = validateArg(args[1]);
for(int count = 0; count < repeat; count++) {
System.out.printf("%s ", random.nextInt(range));
//Process each character of the string;
while(j < str.length() && k < str.length()) {
num *= 10;
num += str.charAt(j++) - '0'; //Minus the ASCII code of '0' to get the value of the charAt(i++).
num += str.charAt(k++) - '0';
}
System.out.println();
}
}
}
static int validateArg(String arg) {
int result = 0;
try { //tries to parse first arg into variable
result = Integer.parseInt(arg);
}
catch (NumberFormatException e) {
System.out.println("arg bad. Prog exiting.");
System.exit(0);
}
if(result <= 0) {
System.out.println("arg must be positive");
System.exit(0);
}
return result;
}
}
Я не уверен, если я нужен метод INT K для входа сканера, но это была моя неудачная попытка получить код, чтобы принять как арг для того, чтобы обойти first if, также я хочу оставить это, чтобы добавить к нему корректирующие действия.
командной строки приходят от того, как вы запустите приложение. Например: 'java GenerationX arg1 arg2' Как вы выполняете приложение? –
К сожалению, мне приходится использовать онлайн-компилятор browxy и не иметь доступа к использованию моей командной строки на работе, но в вашем случае я понимаю, что вы говорите. Я хотел бы предложить пользователю ввести два аргумента, а затем запустить код. – 3monkeys1gorilla