我们必须过滤掉三个单词 cat、dog 和 llama。当像 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");
}
}
}
输出:
Enter a word
dogmatic
Profanity Detected
我正在尝试清除包含这三个单词的任何单词。这不是在读它。我尝试使用 charAt 分割字符,但它不起作用。它会继续读取 if 。另外我如何使其区分大小写?它确实将“cAt”检测为亵渎,但也将“cat”视为亵渎。我不能使用: array、 for 、 while 或 split 。目前,我只能使用 if-else、switch 和 charAt 来进行拆分。
@The Scrum Meister:我也发布了那个。这是一个转发,因为我在处理这件事时仍然遇到困难。
最佳答案
为了给您指明正确的方向,我将向您指出 String documentation 。即 equals 函数。在 StackOverflow 上,我们尽量不给出家庭作业的确切示例,而是引导学生朝正确的方向前进。如果您对某些东西的工作原理或类似问题有任何具体问题,我们将很乐意提供帮助。
一个建议,你不想调用y=x.toLowerCase();
,因为一旦你这样做了,你就无法区分“cat”和“cAt”(因为它们现在都是“猫”)。
关于java - 脏话过滤器 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985124/