0

たとえばアドレス帳を作成するとき、それを検索する方法も必要です。次のようなオブジェクトを探していると想像してください。

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

4

1 に答える 1

0

参考
までに、私がここでやろうとしていたことは、Java 内では不可能だと思います。ただし、Visual Basic は「var」キーワードと「ジェネリック」と呼ばれるものを提供します。同じ問題を抱えているすべての人にとって、そこに解決策が見つかるかもしれません。

于 2014-11-12T08:38:15.547 に答える