たとえばアドレス帳を作成するとき、それを検索する方法も必要です。次のようなオブジェクトを探していると想像してください。
public class someone {
private static someone [] addressBook = new someone[150];
private String firstName;
private String lastName;
private String address;
//...
public someone(String firstName, String lastNameame, String adress/*,...*/){
this.Vorname=firstName;
//...
}
現在、ユーザー入力とスキャナーを使用して誰かを検索することを計画しています。まず、ユーザーは一般的に何を検索しているのかを宣言する必要があります。
public static void searchSomeone(){
System.out.println("What do you want to search for?: ");
Scanner sc1 = new Scanner(System.in);
String userInput1 = sc1.next(); // e.g. userInput1="firstName"
次に、ユーザーは検索している正確な値を尋ねられます。
System.out.println("Enter a " + userInput1 + ": ");
Scanner sc2 = new Scanner(System.in);
String userInput2 = sc2.next(); // e.g. userInput2="Peter"
for (int i=1;i<150;++i){
if(getAddressBook[i].**"Value of userInput1"**.contains(userInput2)){ // here is my problem!*
System.out.println("Congrats, we've found someone! ");
}
}
}
- 入力の値をメンバー変数の呼び出しとして使用する方法はありますか?
この場合、引数は「なる」必要があります
if(getAddressBook[i].firstName.contains(userInput2)){}
単に文字列を返す getInputValue のような別のメソッドを実装しようとしましたが、ここでは機能しませんでした。そのような解決策がない場合は、すべてのメンバー変数のコードを個別に含める必要がありますが、これは本当にしたくありません!
あなたが私の考えを理解してくれることを願っています!そして、私はフォーラムにまったく慣れていないので、親切にしてください。:P