我必须有下面的代码,传递用户输入的数据传递给以下方法:
public void addPerson(Person p)
{
personList.add(p);
}
并且必须从那里添加到databse.java中的数组“personList”(在最底部发布。
这是我到目前为止所做的:
package hartman;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Printer.printWelcome();
Scanner keyboard = new Scanner(System.in);
boolean keepRunning = true;
while (keepRunning) {
Printer.printMenu();
Printer.printPrompt("Please enter your operation: ");
String userSelection = keyboard.nextLine();
switch (userSelection) {
case "1":
handleAddPerson(keyboard);
break;
case "2":
Database.printDatabase();
break;
case "3":
handleSearchPerson(keyboard);
break;
case "4":
keepRunning = false;
break;
default:
break;
}
}
Printer.printGoodBye();
}
private static void handleAddPerson(Scanner keyboard) {
Printer.printAddPersonTitle();
Printer.printPrompt("First Name: ");
String addFirstName = keyboard.nextLine();
Printer.printPrompt("Last Name: ");
String addLastName = keyboard.nextLine();
Printer.printPrompt("Social Security Number: ");
String addSocial = keyboard.nextLine();
Printer.printPrompt("Year Born: ");
int addYearBorn = Integer.parseInt(keyboard.nextLine());
Person person = new Person();
person.setFirstName(addFirstName);
person.setLastName(addLastName);
person.setSocialSecurityNumber(addSocial);
person.setYearBorn(addYearBorn);
}
static void handleSearchPerson(Scanner keyboard) {
Printer.printSearchPersonTitle();
Printer.printPrompt(" Enter search value: ");
String keyword = keyboard.nextLine();
}
}
对于那些想知道的人来说,这里是Person.java。
package hartman;
public class Person {
private String firstName;
private String lastName;
private String socialSecurityNumber;
private int yearBorn;
public Person() {
}
public Person(String firstName, String lastName,
String socialSecurityNumber, int yearBorn) {
}
public int getAge() {
return yearBorn = 2014 - yearBorn;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getSocialSecurityNumber() {
return socialSecurityNumber;
}
public void setSocialSecurityNumber(String socialSecurityNumber) {
this.socialSecurityNumber = socialSecurityNumber;
}
public int getYearBorn() {
return yearBorn;
}
public void setYearBorn(int yearBorn) {
this.yearBorn = yearBorn;
}
}
这里是database.java
package hartman;
import java.util.ArrayList;
import java.util.Scanner;
public class Database {
Scanner keyboard = new Scanner(System.in);
private ArrayList<Person> personList;
public Database() {
}
public void addPerson(Person p) {
personList.add(p);
}
public static void printDatabase() {
}
public ArrayList<Person> findPerson(String searchFor) {
Main.handleSearchPerson(keyboard);
ArrayList<Person> matches = new ArrayList<>();
for (Person p : personList) {
boolean isAMatch = false;
if (p.getFirstName().equalsIgnoreCase(searchFor)) {
isAMatch = true;
}
if (p.getLastName().equalsIgnoreCase(searchFor)) {
isAMatch = true;
}
if (p.getSocialSecurityNumber().contains(searchFor)) {
isAMatch = true;
}
if (String.format("%d", p.getAge()).equals(searchFor))
if (isAMatch) {
matches.add(p);
}
}
return matches;
}
}