亵渎过滤器 - Java

时间:2011-02-13 15:50:26

标签: java if-statement

我们必须过滤掉猫,狗和美洲驼这三个词。程序必须在cAt等情况下改变时过滤掉这些单词。

import java.util.Scanner;

public class Assign5 {

   public static void main(String[] args) 
   {
    String cat,dog,llama,x,y,z;
    System.out.println("Enter a word");

    Scanner keyboard = new Scanner (System.in);

    x=keyboard.next();
    y=x.toLowerCase();

    if (y.indexOf("cat")!=-1||y.indexOf("dog")!=-1|y.indexOf("llama")!=-1)
    {
       System.out.println("Profanity Detected");
    }
    else if(y.indexOf("cat")!=-1||y.indexOf("dog")!=-1|y.indexOf("llama")!=-1)
    {
       y.charAt(0);
       y.charAt(1);
       y.charAt(2);
       y.charAt(3);
         System.out.println("No Profanity Detected");
    }
  }
}

输出:

  

输入一个单词

     

教条

     

检测到亵渎

我试图清除任何包含这三个词的词。它不是在读它。我尝试使用charAt分割字符,但它不起作用。它一直在读取if。另外我如何使它区分大小写?它确实将“cAt”视为亵渎,但也将“猫”视为亵渎。我不能使用:array,for,while或split。现在,我只能使用if-else,switch和charAt来分割。

@ Scrum Meister:我也发布了那个。这是一个转发,因为我仍然无法处理这件事。

2 个答案:

答案 0 :(得分:2)

为了指出正确的方向,我会指向String documentation。即,等于功能。在StackOverflow上,我们尽量不提供家庭作业的确切示例,而是引导学生朝着正确的方向前进。如果您对某些工作或类似方面有任何具体问题,我们将很乐意为您提供帮助。

一条建议,你不想打电话给y=x.toLowerCase();,因为一旦你这样做了,你就无法区分“cat”和“cAt”(因为它们现在都是“猫” “)。

答案 1 :(得分:0)

您可以使用: .contains()方法 这是一个测试字符串的布尔方法,如果它在contains(“String param here”)参数中有指定的字符串,则返回true。