Итак, у меня есть этот мини-проект, который я выполняю, и в основном он требует, чтобы программа считывала текстовый файл и добавляла информацию к объекту.Тем не менее, я хочу, чтобы программа добавила новое поле, если она находит новое поле, которое не доступно программно.
public class Person{
public person(String name, int age){
this.name=name;
this.age=age;
}
}
Допустим, на данный момент это мой объект, и информация для моего ввода из текстового файла выглядит следующим образом: Имя = Джон Возраст = 21 lastName = Doe.(Но каждый из них будет отдельной строкой) И это было бы моим главным:
public class miniProject{
ArrayList<String> fields= new ArrayList<String> ();
ArrayList<String> data= new ArrayList<String> ();
public static void main(String[] args) throws FileNOtFoundException{
Person temp;
File file = new File("personInfo.txt");
Scanner in = new Scanner(file);
while (in.hasNext()) {
String[] info=in.nextLine().split("="); //assuming ill get ["Name","John"] for the first line
fields.add(info[0]);
data.add(info[1]);
}
for (x=0;x<field.length;x++){
if (person.field[x]==null){ //im not really sure how id check for this
//make new field and add info
}else{
person.field[x]=data[x];
}
}
}
}
Извините, если это действительно шатко, у меня не было времени, чтобы запустить его, поэтому я просто закодировал это правосейчас.При создании нового поля оно должно быть в классе объекта, к которому я обращаюсь?например:
public class Person{
public person(String name, String age){
this.name=name;
this.age=age;
}
public void newField(String field, String info){
this.field=info;
}
}
и тогда я могу позвонить по этому поводу?