いくつか質問があります。私は要素オブジェクトの配列を検索するメソッドを作成しています(各要素オブジェクトは[atomicNumber省略名atomicWeight]で初期化されています)。私はまた、 '要素への参照'を返す必要があります - これを行う方法が正確にはわかりません。ユーザーがmainに略語を入力すると、配列上でfindAbbreviationメソッドが使用されます。 toStringメソッドは、各データ型をフォーマットしてStringとして返します。配列全体の任意のオブジェクトの略語の位置を検索するにはどうすればよいですか?そして、その '要素'オブジェクトへの参照をどのように返すのですか?文字列の配列内の特定の単語の位置を検索するには
public class PeriodicTable {
private final int MAX_ELEMENTS = 200;
private PeriodicElement[] table;
private int actualSize;
public PeriodicTable() throws IOException{
table = new PeriodicElement[MAX_ELEMENTS];
Scanner input = new Scanner(new File("file name here"));
int index = 0;
while(input.hasNext() && index < MAX_ELEMENTS) {
int aN = input.nextInt();
String abbr = input.next();
String name = input.next();
double aW = input.nextDouble();
table[index] = new PeriodicElement(aN, abbr, name, aW);
index++;
}
input.close();
actualSize = index;
}
public String findAbbreviation(String abbreviationP){
boolean found = false;
int index = 0;
while(found && index < MAX_ELEMENTS){
if (table[index] = table[abbreviationP]){
found = true;
return table[index].toString;
}
index++;
}
return null;
}
}
class PeriodicElement {
private int atomicNumber;
private String abbreviation, name;
private double atomicWeight;
public PeriodicElement(int atomicNumberP,
String abbreviationP, String nameP,
double atomicWeightP){
atomicNumber = atomicNumberP;
abbreviation = abbreviationP;
name = nameP;
atomicWeight = atomicWeightP;
}
:
第二に、あなたは、この新しいゲッターを利用するために、あなたのfindAbbreviation方法を更新したいと思います?あなたの状態は間違っています。 –
インデックスに文字列を使用しようとすると、配列から要素を取得することもできません。どこからこのメソッドを呼び出していますか?あなたはそれを探している間、ループで文字列を見つけて、索引を追跡しなければならないでしょう。 abbreviationPの索引が必要な場合は、forループを使用して、配列が見つかるまで検索する必要があります。その瞬間にあなたはあなたがそれを見つけたインデックスを持っています。 –