说实话,我没有问题,但我想学习一些我不知道的东西,所以我在Java上做了一个非常简单的单词添加和删除,但是当我想验证我必须删除哪个单词时,系统会进行验证对于集合中已知的每个单词,并为进入循环的每个单词显示一条消息来验证每个单词,我如何设置一种方法来仅为我想要的单词设置消息?
我是巴西人,我从来没有练习过英语,只是开始编码并开始观看一些视频并学习你所看到的内容,而且我也没有使用翻译器,所以如果有什么令人困惑的地方,那就是答案哈哈哈。
package PalavrasUnicas;
import java.util.*;
public class ConjuntoPalavrasUnicas {
private final Set<String> conjuntoPalavras;
public ConjuntoPalavrasUnicas(){
this.conjuntoPalavras = new HashSet<>();
}
public void adicionarPalavra(String palavra){
conjuntoPalavras.add(palavra);
}
public void removerPalavra(String palavra){
String palavraRemover = "";
for (String p: conjuntoPalavras){
if (p.equalsIgnoreCase(palavra)){
palavraRemover = p;
System.out.println("Palavra encontrada.");
break;
} else {
System.out.println("Palavra não encontrada.");
}
}
conjuntoPalavras.remove(palavraRemover);
}
public void verificarPalavra(String palavra){
String palavraVerificar = "";
for (String p: conjuntoPalavras){
if (p.equalsIgnoreCase(palavra)){
palavraVerificar = p;
break;
} else {
System.out.println(" Palavra não encontrada.");
}
}
System.out.println("Palavra Encontrada " + palavraVerificar);
}
public void exibirPalavrasUnicas(){
for (String p : conjuntoPalavras){
System.out.println(p);
}
}
}
如果有人好奇如何做到这一点,只需删除循环并使用 contains() 而不是 equalsignorecase(),因为它只能在我们每个字符串循环一个字符串时使用,cointains() 方法将搜索是否word存在并返回boolean,只需使用if()来验证该boolean,然后if将返回true或false,true:只需使用方法remove,因为他足够聪明,只需通过它的String值即可删除该单词,返回 false:引发异常或仅使用 SysOut(就像所做的那样),如果您想在代码中看到它:
public void removerPalavra(String palavra){
String palavraRemover = "";
if (conjuntoPalavras.contains(palavra)){
conjuntoPalavras.remove(palavra);
System.out.println("Palavra encontrada.");
} else {
System.out.println("Palavra não encontrada.");
}
}
public