java - 当我测试此代码时,交互 Pane 无响应

标签 java drjava

这是我的第一篇文章,如果存在格式问题,我很抱歉。 长话短说,每次我在 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/

相关文章:

java - 如何创建具有下拉功能的 SWT.RADIO 样式的 Eclipse 工具栏项?

java - DrJava:无法使用 JDK8.0 运行代码

java - 编译后不显示GUI

java - SMS 服务所需的类或接口(interface)?

java - GWT 吉利德错误

java - 不使用数组查找给定整数的第二大数目

java - 无法在 Java 中引用外部类型

java - 导入类时的奇怪行为

java - 为什么主函数重载没有冲突?

Java 7u40 Java SE 8 sun.reflect.Reflection.getCallerClass