Java 线程ArrayIndex中的异常
我在用级数和输入进行一些初学者编程,但我经常遇到同样的问题。找不到解决方案。基本上我现在想让我的程序做的就是输入一个数字列表并打印出来。无论我在程序中做什么更改,我都会一次又一次地遇到同样的错误。这是我的代码Java 线程ArrayIndex中的异常,java,arrays,Java,Arrays,我在用级数和输入进行一些初学者编程,但我经常遇到同样的问题。找不到解决方案。基本上我现在想让我的程序做的就是输入一个数字列表并打印出来。无论我在程序中做什么更改,我都会一次又一次地遇到同样的错误。这是我的代码 import java.util.Scanner; public class Test437 { public static void main(String[] args) { int limit = 25; int cnt; int addtion; doub
import java.util.Scanner;
public class Test437 {
public static void main(String[] args) {
int limit = 25;
int cnt;
int addtion;
double dbt; //Devided by two % 2
Scanner input = new Scanner(System.in);
int [] ya = new int[8];
for(cnt = 0;cnt < ya.length;cnt++)
{
System.out.print("ya[" + cnt + "]= ");
ya[cnt] = input.nextInt();
}
System.out.println(ya[cnt]);
}
}
import java.util.Scanner;
公共类Test437{
公共静态void main(字符串[]args){
整数极限=25;
int-cnt;
补充;
双dbt;//被两个%2分开
扫描仪输入=新扫描仪(System.in);
int[]ya=新的int[8];
对于(cnt=0;cnt
我收到这个错误:
线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:8
在Test437.main(Test437.java:22)System.out.println(ya[cnt])代码>此行在循环外
Cnt
等于数组大小,因此不能以这种方式使用,因为数组中没有具有这种索引的元素。Cnt离开循环的条件是超过长度,因此在这一行中获得索引自动边界
System.out.println(ya[cnt]);
正在尝试访问不存在的ya.Length索引处的元素
在您的示例中,ya[8]包含位置从0到7(ya[0]ya[1]…ya[7]的元素,并且您正在尝试访问ya[8]bacuase cnt变量,因为for语句结束后该变量为8
因此,编译器抛出indexOutOfBounds异常。行:
System.out.println(ya[cnt]);
接受所有数组值后,需要再次处于循环中才能打印出它们:
for (cnt = 0;cnt < ya.length;cnt++) {
System.out.println(ya[cnt]);
}
我没有得到任何异常.System.out.println(Arrays.toString(ya));我想我将开始使用这个:D
System.out.println(Arrays.toString(ya));