“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:索引1超出长度0的界限
我不知道是怎么回事,它可以读取,但它告诉我索引1超出长度0的界限。这是什么意思“线程中的异常”;“主要”;java.lang.ArrayIndexOutOfBoundsException:索引1超出长度0的界限,java,arrays,Java,Arrays,我不知道是怎么回事,它可以读取,但它告诉我索引1超出长度0的界限。这是什么意思 public class Kreisberechnung3 { public static void main(String[] args) { String einheit = args[1]; double radius = Double.parseDouble(args[0]); double umfang = 2.0 * 3.1415926 * radius; double
public class Kreisberechnung3 {
public static void main(String[] args) {
String einheit = args[1];
double radius = Double.parseDouble(args[0]);
double umfang = 2.0 * 3.1415926 * radius;
double flaeche = 3.1415926 * radius * radius;
System.out.print("Umfang: ");
System.out.print(umfang);
System.out.println(" " + einheit);
System.out.print("Fläche: ");
System.out.print(flaeche);
System.out.println(" " + einheit + '\u00b2');
}
}
第二行尝试从字符串数组args
中提取字符串。此数组包含命令行参数
当通过命令提示符运行代码时,您将运行以下操作:
java Kreisberechnung3
现在假设您希望数组args中有两个元素,“first”
和“second”
您需要将其更新为:
java Kreisberechnung3 first second
String s = args[1];
请记住,在Java中,数组是基于零的,这将得到第二个元素,使值s指向“second”
如果通过IDE运行代码,则需要检查IDE如何传递这些参数。这意味着您正在尝试获取空数组的第二个元素。您需要为此提供(足够)的命令行参数,以便如何启动应用程序?尝试使用
args[0]
而不是args[1]
@lucumt,然后他仍将尝试获取空数组的第一个元素。同样的problem@StultuskeOP需要在访问元素之前进行一些检查
java Kreisberechnung3 first second
String s = args[1];