Я новичок в Java. это только вторая программа, которую я пытался построить. Я попытался найти ответ в вопросах, связанных с предыдущим, но не мог, простите меня, если на это уже был дан ответ.
это программа:
public class UseThree {
public static void main(String[] args) {
System.out.print("Hi, ");
System.out.print(args[2]);
System.out.print(", ");
System.out.print(args[1]);
System.out.print(", and ");
System.out.print(args[0]);
System.out.println(".");
}
}
Кто-нибудь может сказать мне, почему я не могу запустить это?
проблемы, которые он показывает:
run UseThree
java.lang.ArrayIndexOutOfBoundsException: 0
at UseThree.main(UseThree.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
Это исключение возникает, когда вы обращаетесь к элементу без существования. Для этой программы вам необходимо хотя бы передать 3 аргумента командной строки. Bcz вы использовали
Arg [0], Arg [1], Arg [2]
Если вы не передадите аргументы командной строки вашей программе, в массиве args
ничего не будет. Перед доступом к массиву вы можете проверить, сколько аргументов вы фактически получили, например
public static void main(String[] args) {
System.out.println("received " + args.length + " arguments");
}
Ну, у вас не было того, что на самом деле - это просто одно дело, которое печатает длину аргументов и видит длину и форму идеи.
что даст вам идею :)
public class TestingProject {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("Hello,HiHow,you");
System.out.println("Hello1"+"Hi1"+"How1"+"you1");
System.out.println(args.length);
}
}
помните, что то, что является @param args, тогда u получит ваши ans :)
Вы должны добавить строковые значения для arg [] при запуске кода:
java UseThree name1 name2 name3
name1 относится к arg [0], name2 к arg [1] и name3 к arg [2].