有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从arraylist中删除空格

我刚刚开始学习计算机科学,我们刚刚开始我们的第一个Java项目。这是一个信息系统,应该记录我们的朋友

我已经做了一个arraylist,我可以把我们朋友的一些兴趣放在其中。问题是,我可以轻松地输入空格,然后按enter键将“空”元素插入数组列表。我尝试过使用不同的方法将它们从数组列表中删除,但没有找到答案。下面是我一直使用的代码

当我进入“退出”时,我已经将程序设置为退出,这非常好。在开始时,当我输入“exit”时,程序会将“exit”包含到数组中,但在我添加了checklist()方法之后,我能够将“exit”保留在数组列表之外。我似乎无法让它与空间和入口一起工作

package testing;

import java.util.ArrayList;
import java.util.Scanner;

public class Test {

public static void main(String[] args) {
    ArrayList<String> interests = new ArrayList<String>();
    String interest;
    String quit = "exit";
    do {
        Scanner userInput =  new Scanner(System.in);
        System.out.println("Write interest: ");
        interest = userInput.nextLine();
        if (interest.isEmpty()) { // Makes sure you cant press ENTER.
            System.out.println("You just entered SPACE, please write an interest: ");
            interest = userInput.nextLine();
        }  else if (interest.isBlank()) { // Makes sure you cant enter a plain space.
            System.out.println("You just entered a plain space, please write an interest: ");
            interest = userInput.nextLine();
        }
        interests.add(interest);
    } while (!interest.equals(quit));
    checkList(interests);
    System.out.println(interests);
}

public static void checkList(ArrayList<String> interests) {
    String quit = "exit";
    for (int i = 0; i < interests.size(); i++) {
        if(interests.get(i).isBlank()) {                
            interests.remove(i);
            System.out.println("Position: " + i + " is a blank space");
            System.out.println("Removed blank space: " + interests.get(i));
        } else if (interests.get(i).isEmpty()) {
            interests.remove(i);
            System.out.println("Position: " + i + " is a ENTER");
            System.out.println("Removed ENTER: " + interests.get(i));
        } else if (interests.get(i).equals(quit)) {
            interests.remove(i);
        }
    }
}

}

共 (2) 个答案

  1. # 1 楼答案

    我已经设法找到了我问题的答案。解决方案是使用这个方法,而不是使用checkList()方法

    interests.removeAll(Arrays.asList("", null, " ", "exit"));
    
  2. # 2 楼答案

    我不熟悉Java。 但我认为最好的办法是阻止来自空白空间的输入。 因此,用户需要将数据输入数组。 只需检查字符串是否为null | |空即可