Java运行中出现数组下标越界什么意思

我是初学者,这是一道作业题,刚学到for,不知道哪里出了错,请高人指点!!
import javax.swing.JOptionPane;

public class TutorialCertificate {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

String s1 =JOptionPane.showInputDialog("Bitte geben Sie die erste note ein");
String s2 =JOptionPane.showInputDialog("Bitte geben Sie die zweite note ein");
String s3 =JOptionPane.showInputDialog("Bitte geben Sie die dritte note ein");
String s4 =JOptionPane.showInputDialog("Bitte geben Sie die vierte note ein");
String s5 =JOptionPane.showInputDialog("Bitte geben Sie die fuefte note ein");
String s6 =JOptionPane.showInputDialog("Bitte geben Sie die sechste note ein");
String s7 =JOptionPane.showInputDialog("Bitte geben Sie die siebte note ein");
String s8 =JOptionPane.showInputDialog("Bitte geben Sie die achte note ein");
String s9 =JOptionPane.showInputDialog("Bitte geben Sie die neunte note ein");
String s10 =JOptionPane.showInputDialog("Bitte geben Sie die zehnte note ein");
String s11 =JOptionPane.showInputDialog("Bitte geben Sie die elfte note ein");
String s12 =JOptionPane.showInputDialog("Bitte geben Sie die zwoelfte note ein");

int i;
int j;
int Summe=0;
int[][] Punkt={
{Integer.parseInt(s1),Integer.parseInt(s2)},
{Integer.parseInt(s3),Integer.parseInt(s4)},
{Integer.parseInt(s5),Integer.parseInt(s6)},
{Integer.parseInt(s7),Integer.parseInt(s8)},
{Integer.parseInt(s9),Integer.parseInt(s10)},
{Integer.parseInt(s11),Integer.parseInt(s12)}
};

for(i=0;i<6;i++){
for(j=0;j<2;j++){
Summe=Punkt[i][j]+Summe;

}}
int Zahl=0;
for(int m=0;m<6;m++){
if(Punkt[m][0]+Punkt[m][1]<2)
Zahl++;
}

for (int x= 0; x<= 12; x++){
int n = Integer.parseInt(args[0]);
if (n < 0 || n > 10){
System.out.println("Die Zahlen muss 0 - 10 sein.");
return;
}
}
if(Summe>=60 && Zahl<2)
System.out.println("Glueckwunsh! Sie erhalten den Schein");
else if(Summe<60&&Zahl>1)
System.out.println("Schein nicht gewaehrt:Es wurden beide Kriterien nicht erfuellt");
else if(Summe<60)
System.out.println("Schein nicht gewaehrt:Es wurden nicht 50% aller Punkte erreicht");
else if(Zahl>1)
System.out.println("Schein nicht gewaehrt:Es wurden nicht 5 von 6 Zettel ausreichend bearbeitet");
}
}

比如你定义一个String [] a = String [10];当然这样写 string [10] = ....,就出错了,你定义数据长度为10,而 java的数组下标是从0开始算的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-12
说明你数组的长度没有达到你写的那个数组的长度
相似回答