2011-02-13 10 views
0

cat、dog、llamaという3つの単語を除外する必要があります。プログラムは、cAtのような場合に変化するときに、これらの単語をフィルタリングする必要があります。冒涜フィルタ - Java

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"); 
    } 
    } 
} 

出力:

単語

独断的な

冒涜を入力し、私はこれらの3つの単語を含む任意の単語を取り除くしようとしています

を検出しました。それはそれを読んでいない。 charAtを使用して文字を分割しようとしましたが、動作しません。 ifを読み続ける。また、どのように大文字小文字を区別するのですか? 「cAt」を俗語として検出しますが、「猫」もまた俗語とみなします。私は使用できません:配列、for、while、split。今は、if-else、switch、charAtを使って分割するだけで作業できます。

@スクラムマイスター:私もその1つを投稿しました。私はこの問題を解決するのにまだ問題があるので、これは再投稿です。

+1

String.contains()http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#contains%28java.lang.CharSequence%29 – Nishant

+1

Clbuttic! !!! – Daniel

+0

このプロジェクトを続行する前に、この記事をお読みください:http://www.telegraph.co.uk/news/newstopics/howaboutthat/2667634/The-Clbuttic-Mistake-When-obscenity-filters-go-wrong.html実際には、ちょうどGoogleの "clbuttic" – JohnFx

答えて

2

正しい方向に向けるために、私はString documentationを指摘します。つまり、equals関数です。 StackOverflowでは、宿題の正確な例を与えないようにしますが、正しい方向に学生を誘導します。何かがどういうものか、それと似たようなことについて具体的な質問があれば、私たちは喜んで助けてくれるでしょう。

アドバイスが1つの場合は、y=x.toLowerCase();に電話したくないので、「cat」と「cAt」を区別する方法がないため(「cat」になっています)

+0

あなたは少なくとも私が間違っていることを示唆できますか? ? – user605989

+0

@user速いヒントのために私のアップデートをチェックしてください。それ以外の場合、indexOfが-1以外の結果を返す場合は、フィルタリングしようとしている単語の前後の文字が文字でないことを確認する必要があります。それは "独断的な"のような言葉をフィルターにかけるのに役立ちます –

+0

@userどうやって来ますか?私たちが助けることができる他のものはありますか? –

0

.contains()メソッド は文字列をテストするブールメソッドであり、contains( "String param here")パラメータに指定した文字列がある場合はtrueを返します。

関連する問題