使用扫描仪输入时,我们可以使用var .. args sc.nextInt() ?? 例如..(代码下方)
import java.util.Scanner;
class Sample
{
public static void run(int... args){
System.out.println(args[1]);
}
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println("please enter values: ");
int values = sc.nextInt();
run(values);
}
}
输出是ArrayIndexOutOfBoundsException:1可以解释一下这个...
答案 0 :(得分:3)
values
只是一个变量,因此args
的长度为1,这意味着唯一有效的索引是0(数组是从零开始的实体)
答案 1 :(得分:1)
您的数组大小为1并尝试访问第二个值,因此请使用下面的代码。我已从args[1]
更改为args[0]
。
ArrayIndexOutOfBoundsException
,不仅对于整数数组而且对于所有类型的数组。
import java.util.Scanner;
class Sample
{
public static void run(int... args){
System.out.println(args[0]);
}
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println("please enter values: ");
int values = sc.nextInt();
run(values);
}
}
答案 2 :(得分:0)
使用args [0]代替args [1],因为你的值存储在
上