我们必须过滤掉猫,狗和美洲驼这三个词。程序必须在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:我也发布了那个。这是一个转发,因为我仍然无法处理这件事。
答案 0 :(得分:2)
为了指出正确的方向,我会指向String documentation。即,等于功能。在StackOverflow上,我们尽量不提供家庭作业的确切示例,而是引导学生朝着正确的方向前进。如果您对某些工作或类似方面有任何具体问题,我们将很乐意为您提供帮助。
一条建议,你不想打电话给y=x.toLowerCase();
,因为一旦你这样做了,你就无法区分“cat”和“cAt”(因为它们现在都是“猫” “)。
答案 1 :(得分:0)
您可以使用: .contains()方法 这是一个测试字符串的布尔方法,如果它在contains(“String param here”)参数中有指定的字符串,则返回true。