这是我的第一篇文章,如果存在格式问题,我很抱歉。 长话短说,每次我在 DrJava 中编译此代码时,交互 Pane 都会变得无响应,但程序本身很好。
import java.util.Scanner;
import java.lang.Math;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Please enter words, enter STOP to stop the loop.");
ArrayList <String>words = new ArrayList
<String>();
boolean end = false;
while(end == false){
String stop = "STOP";
String word = "";
for(int i = 0; Objects.equals(stop, word); i++){
word = scan.nextLine();
if(Objects.equals(stop, word) && i > 2){
System.out.print(words.size());
words.remove(0);
words.remove(i);
System.out.println(words);
end = true;
} else if(Objects.equals(stop, word) && i < 2){
System.out.print(words.size());
System.out.println(words);
end = true;
} else {
words.add(i, word);
}
System.out.println();
}
}
}
}
这段代码的目标是:编写一个Java程序,允许用户在命令行输入单词。当用户输入“STOP”时,您的程序应该停止接受单词。将单词存储在 ArrayList 中。单词“STOP”不应存储在列表中。
接下来,打印列表的大小,然后打印列表的内容。
然后,删除列表中存储的第一个和最后一个单词,但前提是列表的长度大于 2。最后,重新打印列表内容。
这是一个类作业,所以我并不是想找到编码问题本身的答案,而只是想找到交互 Pane 没有响应的原因。提前致谢!
最佳答案
按照@MZ97的建议,删除for循环:for(int i = 0; Objects.equals(stop, word); i++),导致交互 Pane 正常工作。
关于java - 当我测试此代码时,交互 Pane 无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60282435/