我需要这个程序来打印“被审查”,如果userInput包含“userInput”一词,否则打印新行结束。
我有:
import java.util.Scanner;
public class CensoredWords {
public static void main (String [] args) {
String userInput = "";
Scanner scan = new Scanner(System.in);
userInput = scan.nextLine;
if(){
System.out.print("Censored");
}
else{
System.out.print(userInput);
}
return;
}
}不确定if的条件是什么,我不认为在string类中有“包含”方法。
发布于 2014-12-02 13:41:23
最好的解决方案是使用带单词边界的正则表达式。
if(myString.matches(".*?\\bdarn\\b.*?"))
这可以防止您将sdarns作为一个粗鲁的词来匹配。:) demo here
发布于 2014-12-02 13:38:54
试试这个:
if(userInput.contains("darn"))
{
System.out.print("Censored");
}是的,String类有一个名为contains的方法,它检查子字符串是否是整个字符串的一部分
发布于 2014-12-02 13:44:29
Java String Class确实有一个contains方法。它接受一个CharSequence对象。检查documentation。
https://stackoverflow.com/questions/27242582
复制相似问题