在创建例如地址簿时,我还想要一种搜索它的方法。 想象一下,我选择了这样一个对象:
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,只返回String,但它在这里不起作用。 如果没有这样的解决方案,我将不得不单独包含每个成员变量的代码,我真的不想这样做!
希望你明白我的想法!请善待我对论坛很新。 :P
答案 0 :(得分:0)
仅供参考 我想在Java中尝试做的事情是不可能的。但是,Visual Basic提供了一个“var”关键字,也称为“泛型”。对于遇到同样问题的每个人,可以在那里找到解决方案。