Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java在数组索引超出范围时卡住异常_Java_Arrays - Fatal编程技术网

java在数组索引超出范围时卡住异常

java在数组索引超出范围时卡住异常,java,arrays,Java,Arrays,我对编程非常陌生,我一直被困在同一点上。每次尝试使用数组时,我都会得到“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:”我不知道如何修复它。以下是我的开始: public static void main(String[] args) { Scanner input = new Scanner(System.in); int i; String format; String[] value; int[] number; value

我对编程非常陌生,我一直被困在同一点上。每次尝试使用数组时,我都会得到“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:”我不知道如何修复它。以下是我的开始:

public static void main(String[] args) {
Scanner input = new Scanner(System.in);

int i;
String format;
String[] value;
int[] number;

value = new String[10];
number = new int[10];
i = 0;

System.out.println("Please enter a phone number: ");
value[i] = input.nextLine();

for (i = 0; i < value.length; i++); {
    number[i] = Integer.parseInt(value[i]);
        System.out.print(number[i]);
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int i;
字符串格式;
字符串[]值;
int[]号;
值=新字符串[10];
数字=新整数[10];
i=0;
System.out.println(“请输入电话号码:”);
值[i]=input.nextLine();
对于(i=0;i
注意最后一个

for (i = 0; i < value.length; i++); { // blah
for(i=0;i
这个循环相当于

for (i = 0; i < value.length; i++) {
    ;
} 

{
    // blah
}
for(i=0;i
它基本上只是执行空语句10次。在此循环之后,
i
的值为10,这是
number
和/或
value
的越界索引


去掉

注意最后一个

for (i = 0; i < value.length; i++); { // blah
for(i=0;i
这个循环相当于

for (i = 0; i < value.length; i++) {
    ;
} 

{
    // blah
}
for(i=0;i
它基本上只是执行空语句10次。在此循环之后,
i
的值为10,这是
number
和/或
value
的越界索引

摆脱

这是因为

  • 您的
    i
    范围没有受到应有的限制。如果您在它所属的循环中声明
    int i=0
    ,您会更快地发现错误。
    for(int i=0;i…

  • 在循环的
    末尾有一个分号。它基本上只是增加
    i
    ,因为它没有被声明为循环变量,所以保留循环后的最后一个值,即10。然后尝试访问不存在的
    编号[10]
    。删除分号

  • 这是因为

  • 您的
    i
    范围没有受到应有的限制。如果您在它所属的循环中声明
    int i=0
    ,您会更快地发现错误。
    for(int i=0;i…

  • 在循环的
    末尾有一个分号。它基本上只是增加
    i
    ,因为它没有被声明为循环变量,所以保留循环后的最后一个值,即10。然后尝试访问不存在的
    编号[10]
    。删除分号

  • 请删除for loop支架后面的“;”。
    for(i=0;i

    请删除for循环括号后的“;”。
    for(i=0;iSystem.out.print(number[i]);

    注意最后一个
    处(i=0;i
    在这个循环之后
    i
    的值为10,这是
    数字和/或
    值的越界索引。注意最后一个
    处(i=0;i
    在此循环之后,
    i
    的值为10,这是
    number
    和/或
    value
    的越界索引。