Java:尝试中断while循环时出错
当程序应该到达break时,我不断收到此错误: 线程“main”java.lang.IndexOutOfBoundsException中的异常异常:索引:2,大小:2 位于java.util.LinkedList.checkElementIndex(LinkedList.java:555) 位于java.util.LinkedList.get(LinkedList.java:476) 位于Glosor.main(Glosor.java:65)” 代码如下:Java:尝试中断while循环时出错,java,Java,当程序应该到达break时,我不断收到此错误: 线程“main”java.lang.IndexOutOfBoundsException中的异常异常:索引:2,大小:2 位于java.util.LinkedList.checkElementIndex(LinkedList.java:555) 位于java.util.LinkedList.get(LinkedList.java:476) 位于Glosor.main(Glosor.java:65)” 代码如下: import java.util.
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.io.*;
public class Glosor {
public static void main(String[] args) throws IOException {
List<String> gloslista1 = new LinkedList<String>(Arrays.asList());
List<String> gloslista2 = new LinkedList<String>(Arrays.asList());
String inputStr1 = JOptionPane.showInputDialog(null,
"**********************************" + "\n\n" +
"1. Skapa glosövning" + "\n\n" +
"2. Starta glosövning" + "\n\n" +
"3. Avsluta" + "\n\n" +
"**********************************");
int input1 = Integer.parseInt(inputStr1);
switch (input1) {
case 1:
String övningsnamn = JOptionPane.showInputDialog(null, "Vad heter övningen?");
String språk1 = JOptionPane.showInputDialog(null, "Språk 1?");
String språk2 = JOptionPane.showInputDialog(null, "Språk 2?");
while (true) {
String glosa1 = JOptionPane.showInputDialog(null, "Skriv in glosa på " + språk1 + "\n\n" +
"När du är klar skriv klar i rutan");
if(glosa1.equals("klar")) {
break;
//this is where i get the error message
}
else {
String glosa2 = JOptionPane.showInputDialog(null, "Skriv in glosa på " + språk2);
gloslista1.add(glosa1);
gloslista2.add(glosa2);
}
}
String filnamn1 = "svenskaord";
String filnamn2 = "franskaord";
PrintWriter utström1 = new PrintWriter
(new BufferedWriter
(new FileWriter(filnamn1)));
//Skapar en text fil för glosorna på svenska
PrintWriter utström2 = new PrintWriter
(new BufferedWriter
(new FileWriter(filnamn2)));
//Skapar en text fil för glosorna på franska
for(int i = 0; i<=gloslista1.size(); i++) {
utström1.println(gloslista1.get(i));
utström2.println(gloslista2.get(i));
//Skriver in glosor i text filerna
}
导入java.util.array;
导入java.util.LinkedList;
导入java.util.List;
导入java.io.*;
公共级手套{
公共静态void main(字符串[]args)引发IOException{
List gloslista1=新的LinkedList(Arrays.asList());
List glosist2=新建LinkedList(array.asList());
字符串inputStr1=JOptionPane.showInputDialog(null,
“************************************”+“\n\n”+
“1.Skapa glosövning”+“\n\n”+
“2.Starta glosövning”+“\n\n”+
“3.Avsluta”+“\n\n”+
"**********************************");
int input1=Integer.parseInt(inputStr1);
开关(输入1){
案例1:
Stringövningnamn=JOptionPane.showInputDialog(null,“Vad heterövningen?”);
字符串språk1=JOptionPane.showInputDialog(null,“språk 1?”);
字符串språk2=JOptionPane.showInputDialog(null,“språk2?”);
while(true){
字符串glosa1=JOptionPane.showInputDialog(null,“glosa på中的Skriv”+språk1+“\n\n”+
“När duär klar skriv klar i rutan”);
if(glosa1.equals(“klar”)){
打破
//这就是我得到错误信息的地方
}
否则{
字符串glosa2=JOptionPane.showInputDialog(null,“glosa på中的Skriv”+språk2);
gloslista1.添加(glosa1);
gloslista2.add(glosa2);
}
}
字符串filnamn1=“svenskaord”;
字符串filnamn2=“franskaord”;
PrintWriter utström1=新的PrintWriter
(新的缓冲写入程序)
(新文件编写器(filnamn1));
//斯卡帕文本文件
PrintWriter utström2=新的PrintWriter
(新的缓冲写入程序)
(新文件编写器(filnamn2));
//文本文件中的Skapar fil för glosorna påfranska
对于(int i=0;i循环应为
for(int i = 0; i<=gloslista1.size()-1; i++)
for(inti=0;ifor循环超出了范围
for(int i = 0; i<=gloslista1.size(); i++) {
utström1.println(gloslista1.get(i));
utström2.println(gloslista2.get(i));
//Skriver in glosor i text filerna
}
请提供更多代码。目前,无法重现您的错误。
for(int i = 0; i<gloslista1.size(); i++)