我们希望为用户提供过滤亵渎行为的选项。假设我们认为猫,狗和美洲驼这两个词是亵渎的。编写一个程序,该程序从键盘读取一个字符串,并测试该字符串是否包含我们亵渎的单词之一。您的程序应该找到像cAt这样的单词,只是大小写不同。
尝试:
import java.util.Scanner;
public class Assign5 {
public static void main(String[] args) {
String cat,dog,llama,x;
System.out.println("Enter a word");
Scanner keyboard = new Scanner (System.in);
x = keyboard.next();
x.equalsIgnoreCase(x);
if(x.indexOf("cat")!=-1&&x.indexOf("dog")!=-1&&x.indexOf("llama")!=-1);
{
System.out.println("Profanity Detected");
}
else
{
System.out.println("No Profanity Detected");
}
}
由于某些原因,它在
else
下划线,所以我无法运行它。我究竟做错了什么?我不允许使用:for,while和array。我们还没有到那些。我只允许使用:布尔值,开关和if-else。另外,我正在使用
x.equalsIgnoreCase(x)
放弃案例识别。能行吗 最佳答案
问题是这样的:
if (x.indexOf("cat") != -1
&& x.indexOf("dog") != -1
&& x.indexOf("llama") != -1); // <-- look there
{
System.out.println("Profanity Detected");
}
您是否注意到“ if”结尾处的内容?
提示“ {block}”不是if的一部分!这就是导致“其他”下划线的原因。
也许还存在其他错误,但这完全是语法错误。
我这样格式化代码,以便可以轻松发现这些错误。采用良好的代码格式是一项非常有成效的工作:)
if (expr) {
...
} else {
...
}