我正在编写一个简单的Java代码,在输入第一个输入之后,我得到了这个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at university.GetStudentSpect(university.java:26)
at university.main(university.java:11)
代码:
import java.util.Scanner;
public class university {
public static Scanner Reader = new Scanner(System.in);
public static int n;
public static int m=0;
public static int l;
public static StringBuilder SConverter = new StringBuilder();
public static void main(String[] args) {
GetStudentsNumber();
GetStudentSpect();
}
public static void GetStudentsNumber() {
System.out.println("enter the number of students");
n = Reader.nextInt();
}
public static String [][] StudentSpect = new String [n][2];
public static void GetStudentSpect() {
for (int i=0;i<n;i++) {
System.out.println("enter the name of the student");
StudentSpect[i][0] = SConverter.append(Reader.nextInt()).toString();
System.out.println("enter the id of the student");
StudentSpect[i][1] = SConverter.append(Reader.nextInt()).toString();
System.out.println("enter the number of courses of the student");
l = Reader.nextInt();
m += l;
StudentSpect[i][2] = SConverter.append(l).toString();
}
}
}
数组索引从0开始,给定大小2意味着它只能有位置0和1,而不是2。
public static String [][] StudentSpect = new String [n][2];
```
And you are accessing array position of 2 over here.
```
StudentSpect[i][2] = SConverter.append(l).toString();
```
So make this Change
公共静态String[][]Spect=new String[n][3];
静态代码在类首次加载时执行。这意味着,在运行main
方法之前,您需要初始化StudentSpec
。这反过来意味着n
尚未赋值,因此它默认为0。因此,StudentSpec
,是一个维度为0乘2的数组。(请注意,不管您是将代码与所有其他变量一起初始化<code>StudentSpec</code>还是在类中的更高版本,所有静态内容都将首先初始化。)
然后运行main
中的代码,调用GetStudentsNumber
,这将设置n
,但不会初始化StudentSpec
(再次)。然后运行GetStudentSpect
,当您尝试访问StudentSpec
时,程序就会崩溃,因为它是一个零元素数组。
要解决此问题,请在读取< code>n后初始化< code > getstudentnumber 中的< code>StudentSpec,即将代码从静态初始值设定项移到此方法中。
我的Java程序出错了。我认为发生这种情况是因为构造函数没有正确地内部化。
我正在尝试合并两个MP3文件到一个单一的MP3文件。文件保存在SD卡中,但无法播放。首先,我将MP3转换成存储在文件夹中的WAV文件,并输出到SD卡上。它还给出了。
这个错误开始突然出现,当我登录到我的应用程序(通过firebase)时,它必须显示一个列表,然而,当登录时,它没有显示任何东西,并且这个错误开始在日志中出现几次 日志: 我看不到这个错误来自什么activity或片段,我只知道当我之后登录到我的列表时,它在列表中没有显示任何东西并且这些错误在日志中以一行的形式出现
上面的代码是用来在数组中插入一个元素的。我尝试将数组的长度更改为9,但问题仍然存在。
问题内容: 我将JTable子类化,并使用DefaultTableModel建模我的表数据。下面的类设置JTable,并向模型添加一行。 在显示/可视化时,将引发以下异常: 我正在扯头发-我还无法找到这个非常简单的用例的根本原因。 问题答案: 我认为您需要在TableModel中添加列。您的代码将UI列添加到表中,但不将其添加到模型中
您好,我正在尝试与JDBC建立Oracle连接。 我在Win 7 x86上运行,运行Oracle 10g R2 XE,Eclipse Java EE Juno和Java SE v1.7。自从之前使用 ojdbc 以来,我已经在 WebContent/WEB-INF/lib 中包含 class.12.jar 和 ojdbc5.jar .jar它在连接到数据库时出错。所以我不确定我到底要包括哪个驱动程