1
インスタンス変数の配列を検索して、オブジェクトの配列内にある変数が含まれているかどうかを調べようとしています。Javaでオブジェクトの配列内のインスタンス変数の配列を検索するには?
インスタンス変数の配列に検索している単語が含まれている場合、真のブール値を返すメソッドを取得できますが、インスタンス変数の配列に単語が含まれていない場合は何も起こりません。プログラムは決して終わらない。
//array of objects (lets assume it is filled with words)
Dictionary[] dictionary
String output = "word was ";
if (search(dictionary) {
output += "found";
}
else {
output += " not found";
}
System.out.println(output);
検索方法
public static boolean search(Dictionary[] dictionary) {
boolean found = false;
String word = "Apples";
int index = 0;
//first create a loop tho go through all objects until found or no more objects
while (index < dictionary.length && !found) {
//check if Dictionary is a thesaurus or bilingual Dictionary
if (dictionary[index] instanceof Bilingual) {
//downcast that object
Bilingual aDictionary = (Bilingual)dictionary[index];
//get the array of instance variables for that a specific object at the index
String[] words = aDictionary.getAllWords();
int x = 0;
//now go through the array & check if it contains the word
while(x < words.length && !found) {
if (words[x].equalsIgnoreCase(word)) {
found = true;
}
else {
//go to next word
x++;
}
}
}
else {
//go to next dictionary object
index++;
}
}
return found;
}