Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 线程ArrayIndex中的异常_Java_Arrays - Fatal编程技术网

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));