Для моей программы я создаю 2 человека, имена и возрасты из командной строки. Затем моя программа отобразит toString
в диалоговом окне для каждого человека. Однако я пытаюсь реализовать два метода, которые изменяют поле данных имени и поле данных возраста каждого человека. Затем отобразите два дополнительных диалоговых окна с измененными значениями. При вызове моего метода он редактирует объект вместо создания новых.Вызов нестатического метода return type void
Мне интересно, как я должен называть мои методы, которые создадут новых Лиц?
Например мои аргументы командной строки: Bill 58 Miley 21
Мой выход:
Dr. Bill is 59 years old.
Dr. Miley is 22 years old.
Ожидаемый выход (Dialog Boxes):
Bill is 58 years old.
Dr. Bill is 59 years old.
Miley is 21 years old.
Dr. Miley is 22 years old.
Так 4 диалоговые окна выскакивать.
Мой код:
import javax.swing.JOptionPane;
public class PersonMethods{
public static void main(String[] args){
Integer age1 = new Integer(0);
Integer age2 = new Integer(0);
age1 = Integer.parseInt(args[1]);
age2 = Integer.parseInt(args[3]);
// Create Person Objects
Person p1 = new Person(args[0], age1);
Person p2 = new Person(args[2], age2);
p1.phd();
p1.birthday();
p2.phd();
p2.birthday();
String firstOutput = p1.toString();
String secondOutput = p2.toString();
//Display a mesage panel in the center of the screen
JOptionPane.showMessageDialog(null, firstOutput);
JOptionPane.showMessageDialog(null, secondOutput);
}
}
// Stores the name and age for a Person
class Person{
// Data fields
private String name;
private Integer age;
public Person(String n1, int a1){
name = n1;
age = a1;
}
// Add Dr to name
public void phd(){
name = "Dr. "+name;
}
// Add one to age
public void birthday(){
age = age+1;
}
public String toString(){
String output = name + " is " + age + " years old.";
return output;
}
}
Каков фактический выход? – Christian
@ Христиан Христиан, я добавил свой текущий выход. Кажется, вызов моего метода просто изменяет текущий объект, а не создает новый. Но я попытался создать нового человека с помощью метода внутри, но из-за его пустоты я получил ошибку: o –
Я не понимаю, почему вы хотите создать новую 'Person's? Модификация их отлично подходит для меня. – Christian