我们希望为用户提供过滤亵渎行为的选项。假设我们认为猫,狗和美洲驼这两个词是亵渎的。编写一个程序,该程序从键盘读取一个字符串,并测试该字符串是否包含我们亵渎的单词之一。您的程序应该找到像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 {
   ...
}

10-04 17:43