英文:
Remove blank spaces from arraylist
问题
我刚开始学习计算机科学,我们刚开始做我们的第一个Java项目。这是一个信息系统,应该可以跟踪我们的朋友。
我已经创建了一个ArrayList,可以在里面添加一些朋友的兴趣。问题是我可以轻松地输入空格,然后按Enter键将一个“空”的元素插入到ArrayList中。我尝试过使用不同的方法从ArrayList中移除它们,但没有得到答案。下面是我卡在那里的代码。
我设置了当我输入“exit”时程序会退出,这个功能运行得非常好。在开始时,当我键入“exit”时,程序会将“exit”包含在ArrayList中,但在我添加了checklist()
方法之后,我能够将“exit”排除在ArrayList之外。但是我似乎无法处理空格和Enter键。
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()) { // 确保您不能按Enter键。
System.out.println("You just entered SPACE, please write an interest: ");
interest = userInput.nextLine();
} else if (interest.isBlank()) { // 确保您不能输入纯空格。
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 an ENTER");
System.out.println("Removed ENTER: " + interests.get(i));
} else if (interests.get(i).equals(quit)) {
interests.remove(i);
}
}
}
}
英文:
I have just started studying Computer Science, and we have just started our first Java project. It is a information system that should keep tracks of our friends.
I have made an arraylist where I can put in some interests that our friends have. The problem is that I can easily enter blank spaces and just press enter to insert an "empty" element into the array list. I have tried using different methods to remove them from the array list, and haven't come to an answer. Under here is the code that I am stuck with.
I have set the program to exit when I enter "exit", and that works perfectly fine. At the start when I typed in "exit", then the program would include the "exit" into the array, but after I added the checklist()
method, I was able to keep "exit" out of the array list. I just can't seem to make it work with spaces and Enters.
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);
}
}
}
}
答案1
得分: 1
我已经成功找到了我的问题的答案。解决方案是使用这个,而不是使用方法 checkList()
。
interests.removeAll(Arrays.asList("", null, " ", "exit"));
英文:
I already managed to find the answer to my question. The solution was to use this instead of using the method checkList()
.
interests.removeAll(Arrays.asList("", null, " ", "exit"));
答案2
得分: -1
我不熟悉Java。
但我认为最好的概念是阻止空格输入。
因此,用户需要将数据输入到数组中。
只需检查字符串是否为null || 空。
英文:
I am not familier with Java.
But i think the best concept would be to block an input from empty space.
So a user needs to enter data into an array.
Just check if string is null || empty
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论