2

登録フォームの ID を確認する場合など、場合によっては「悪い」言葉がないかどうかを確認したい。しかし、私はそれを確認する方法がわかりません..一番下のコードは、私がそれで得たものです。

String words = "admin,administrator,babo,sir,melon";

public boolean checkWord(String input) {
   if(something here that i need to find??) return false;
   else return true;
}

単語のパターンがコンマで区切られているのですが、本当に助けてください!

4

3 に答える 3

5

最も簡単な方法は、次のように、並べ替えられた配列で単語を検索することです。

private static String[] WORDS = new String[] {
    "admin", "administrator", "babo", "melon", "sir"
};

public boolean checkWord(String input) {
    return Arrays.binarySearch(WORDS, input) < 0; // Not found
}
于 2012-10-13T01:51:18.073 に答える
1

入力内の単語のグループを探したい場合の別の例

public class TestCheckWord {
    static String words = "admin,administrator,babo,sir,melon";
    public static void main (String args[]){        
        System.out.println(checkWord("Hello melon"));
        System.out.println(checkWord("Hello sir"));
        System.out.println(checkWord("Hello you"));
    }
    public static boolean checkWord(String input) {
        String wordArray[] = words.split(",");
        for(int i=0; i<wordArray.length; i++){
            if(input.indexOf(wordArray[i])>-1)
                return true;            
        }
        return false;
    }
}

さらに、入力に単語が 1 つしか含まれていない場合にのみ単語を検索する別の方法もあります (この場合、配列内の順序は重要ではありません。

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class TestCheckWord2 {
    public static void main (String args[]){        
        System.out.println(checkWord("babo"));
        System.out.println(checkWord("bobo"));      
    }
    private static String[] WORDS =  {"admin", "babo", "melon", "sir", "administrator"};
    private static Set<String> mySet = new HashSet<String>(Arrays.asList(WORDS));
    public static boolean checkWord(String input) { 
        return mySet.contains(input);
    }   
}
于 2012-10-13T01:53:21.263 に答える
0
public class steve {

    
    static boolean checkWord(String input, String words) {
        if(words.contains(input)) {
            return true;
        }
        else {
            return false;
        }
        
    }
    
    public static void main(String[] args) {
        
        String words = "admin,administrator,babo,sir,melon";
        
        System.out.print(steve.checkWord("babo",words));
        
        
    }
    
}
于 2020-10-14T13:03:21.293 に答える