0

私が作成しようとしているプログラムは次のとおりです。ユーザーが入力した文字から3文字の単語をフォーマットで作成するプログラムです。ユーザーが複数回使用しない限り、同じ文字を複数回使用することはできず、同じ単語を 2 回使用することはできません。

public class JavaApplication1 {

private static boolean Vowel (char c){
    return (c == 'a' || c == 'e' || c == 'o' || c == 'u' || c == 'i');
}

public static void main(String[] args) {

    char[] array = {'b', 'c','a', 'd', 'e', 'b'}; 
    //List<Character> chars = new ArrayList<Character>();
    String words = "";

    for(int i = 0; i < array.length; i++){ 
        if(Vowel(array[i]) == true){
            continue;
        }
        for(int j = 0; j < array.length; j++){
            if(Vowel(array[j]) == false){
            continue;
            }
            for(int k = 0; k < array.length; k++){
                if(Vowel(array[k]) == true){
                    continue;
                }
                if(array[k] == array[i]){
                    continue;
                }
                else{//here it should check if the word already exists 
                    if(chars.contains((array[i] + array[j] + array[k]))){
                        continue;
                    }
                    else{
                        chars.add(array[i]);
                        chars.add(array[j]);
                        chars.add(array[k]);
                    }
                }
            }
        }
    }
    System.out.print(chars.toString());
  }
}

私が困っているのは...単語がすでに存在するかどうかを確認することです。配列リストの文字列、文字配列を使用してみました。(array[i]+array[j]+array[k]) は、何らかの理由で INT として認識されているようです。

4

2 に答える 2

1

これらから文字列を作成し、配列に追加する必要があります。

String word = array[i] + "" + array[j] + "" + array[k];
if (chars.contains(word)) {
    continue;
} 
else {
    chars.add(word);
}

chars はList<String>

于 2013-05-29T10:15:30.133 に答える