2017-03-31 284 views
0

我正在做一个地址簿作为学校作业的一部分,我主要是想通了,但我被困在一个部分。这是我的代码第一。我有一个AddressBook类,它包含变量和适当的getter和setter方法来更改/返回书中每个人的信息。然后我有一个TestAddressBook类,它具有一个方法main来演示地址簿的工作方式。我坚持的唯一的事情就是最终的要求,我被要求比较两个名字,看看他们是否平等并打印结果。我按照我想要的方式设计程序,但由于某些原因,当我进行比较时,它不会打印比较结果。它根本不打印任何东西。我必须失去一些明显的东西。这是类的代码。地址簿程序

通讯录...

public class AddressBook { 

private String firstName; 
private String middleName; 
private String lastName; 
private String homeAddress; 
private String homePhone; 
private String cellPhone; 
private String businessPhone; 
private String skypeId; 
private String facebookId; 
private String personalWebSite; 

public AddressBook(String firstName, String middleName, String lastName, 
        String homeAddress, String homePhone, String cellPhone, 
        String businessPhone, String skypeID, String facebookID, 
        String personalWebSite) { 

         this.firstName = firstName; 
         this.middleName = middleName; 
         this.lastName = lastName; 
         this.homeAddress = homeAddress; 
         this.homePhone = homePhone; 
         this.cellPhone = cellPhone; 
         this.businessPhone = businessPhone; 
         this.skypeId = skypeID; 
         this.facebookId = facebookID; 
         this.personalWebSite = personalWebSite; 
         } 

public AddressBook(String firstName) { 
    this.firstName = firstName; 
} 

public AddressBook(String firstName, String middleName) { 
    this.firstName = firstName; 
    this.middleName = middleName; 
} 

public AddressBook(String firstName, String middleName, String lastName) { 
    this.firstName = firstName; 
    this.middleName = middleName; 
    this.lastName = lastName; 
} 

public String getFirstName() { 
    return firstName; 
} 

public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 

public String getMiddleName() { 
    return middleName; 
} 

public void setMiddleName(String middleName) { 
    this.middleName = middleName; 
} 

public String getLastName() { 
    return lastName; 
} 

public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 

public String getHomeAddress() { 
    return homeAddress; 
} 

public void setHomeAddress(String homeAddress) { 
    this.homeAddress = homeAddress; 
} 

public String getHomePhone() { 
    return homePhone; 
} 

public void setHomePhone(String homePhone) { 
    this.homePhone = homePhone; 
} 

public String getCellPhone() { 
    return cellPhone; 
} 

public void setCellPhone(String cellPhone) { 
    this.cellPhone = cellPhone; 
} 

public String getBusinessPhone() { 
    return businessPhone; 
} 

public void setBusinessPhone(String businessPhone) { 
    this.businessPhone = businessPhone; 
} 

public String getSkypeId() { 
    return skypeId; 
} 

public void setSkypeId(String skypeId) { 
    this.skypeId = skypeId; 
} 

public String getFacebookId() { 
    return facebookId; 
} 

public void setFacebookId(String facebookId) { 
    this.facebookId = facebookId; 
} 

public String getPersonalWebSite() { 
    return personalWebSite; 
} 

public void setPersonalWebSite(String personalWebSite) { 
    this.personalWebSite = personalWebSite; 
} 

public static String compareNames(String name1, String name2) { 
    String nameEquals; 
    if (name1.equals(name2)) { 
     nameEquals = (name1 + " and " + name2 + " are equal names."); 
     return nameEquals; 
    } 
    else { 
     nameEquals = (name1 + " and " + name2 + " are not equal names."); 
     return nameEquals; 
    } 
} 

}

测试类...

public class TestAddressBook { 

public static void main(String[] args) { 

    System.out.println("ENTRY 1"); 

    AddressBook entry1 = new AddressBook("Robert", "James", "Smith", "3 Fake St", 
             "222-321-8371", "222-423-2382", 
             "222-438-2918", "bob483", "bobfb493", 
             "http://www.freewebhost.com/bob848"); 

    System.out.println("First Name:  " + entry1.getFirstName()); 
    System.out.println("Middle Name:  " + entry1.getMiddleName()); 
    System.out.println("Last Name:  " + entry1.getLastName()); 
    System.out.println("Address:   " + entry1.getHomeAddress()); 
    System.out.println("Home Phone:  " + entry1.getHomePhone()); 
    System.out.println("Cell Phone:  " + entry1.getCellPhone()); 
    System.out.println("Business Phone: " + entry1.getBusinessPhone()); 
    System.out.println("Skype ID:   " + entry1.getSkypeId()); 
    System.out.println("Facebook ID:  " + entry1.getFacebookId()); 
    System.out.println("Personal Website: " + entry1.getPersonalWebSite()); 

    System.out.println("\nENTRY 2"); 

    AddressBook entry2 = new AddressBook("Bruce", "Allan", "Carter", "56 Outtamy Way", 
             "564-342-8372", "564-283-9832", 
             "564-293-3489", "brucie392", "brucieface28", 
             "http://www.freewebhost.com/carteristheman"); 

    System.out.println("First Name:  " + entry2.getFirstName()); 
    System.out.println("Middle Name:  " + entry2.getMiddleName()); 
    System.out.println("Last Name:  " + entry2.getLastName()); 
    System.out.println("Address:   " + entry2.getHomeAddress()); 
    System.out.println("Home Phone:  " + entry2.getHomePhone()); 
    System.out.println("Cell Phone:  " + entry2.getCellPhone()); 
    System.out.println("Business Phone: " + entry2.getBusinessPhone()); 
    System.out.println("Skype ID:   " + entry2.getSkypeId()); 
    System.out.println("Facebook ID:  " + entry2.getFacebookId()); 
    System.out.println("Personal Website: " + entry2.getPersonalWebSite()); 

    System.out.println("\nENTRY 3"); 

    AddressBook entry3 = new AddressBook("Susan", "Anne", "Peters", "6 Madeup Blvd", 
             "736-453-1238", "736-392-2385", 
             "736-926-2439", "anniep", "susananne", 
             "http://www.freewebhost.com/Susanspage"); 

    System.out.println("First Name:  " + entry3.getFirstName()); 
    System.out.println("Middle Name:  " + entry3.getMiddleName()); 
    System.out.println("Last Name:  " + entry3.getLastName()); 
    System.out.println("Address:   " + entry3.getHomeAddress()); 
    System.out.println("Home Phone:  " + entry3.getHomePhone()); 
    System.out.println("Cell Phone:  " + entry3.getCellPhone()); 
    System.out.println("Business Phone: " + entry3.getBusinessPhone()); 
    System.out.println("Skype ID:   " + entry3.getSkypeId()); 
    System.out.println("Facebook ID:  " + entry3.getFacebookId()); 
    System.out.println("Personal Website: " + entry3.getPersonalWebSite()); 



    AddressBook.compareNames(entry1.getFirstName() + " " + 
          entry1.getMiddleName().charAt(0) + " " + 
          entry1.getLastName(), 
          entry2.getFirstName() + " " + 
          entry2.getMiddleName().charAt(0) + " " + 
          entry2.getLastName()); 







} 

}

+0

此外,只是为了清楚的是,该任务明确指出,我的AddressBook类中的compareNames方法不打印任何内容,它只是返回比较值。所以我必须从我的测试类中的方法调用打印它。即类似“名称1和名称1不相同的名称” – ripp2k

+0

你知道你不是要在你的代码中打印'compareNames'的结果吗? – UnholySheep

+0

那么,如何才能在我的测试类中打印名称比较的结果呢? – ripp2k

回答

0

以及你拥有了它在这个

package teteo; 

public class TestAddressBook { 

    public static void main(String[] args) { 

     System.out.println("ENTRY 1"); 

     AddressBook entry1 = new AddressBook("Robert", "James", "Smith", "3 Fake St", 
              "222-321-8371", "222-423-2382", 
              "222-438-2918", "bob483", "bobfb493", 
              "http://www.freewebhost.com/bob848"); 

     System.out.println("First Name:  " + entry1.getFirstName()); 
     System.out.println("Middle Name:  " + entry1.getMiddleName()); 
     System.out.println("Last Name:  " + entry1.getLastName()); 
     System.out.println("Address:   " + entry1.getHomeAddress()); 
     System.out.println("Home Phone:  " + entry1.getHomePhone()); 
     System.out.println("Cell Phone:  " + entry1.getCellPhone()); 
     System.out.println("Business Phone: " + entry1.getBusinessPhone()); 
     System.out.println("Skype ID:   " + entry1.getSkypeId()); 
     System.out.println("Facebook ID:  " + entry1.getFacebookId()); 
     System.out.println("Personal Website: " + entry1.getPersonalWebSite()); 

     System.out.println("\nENTRY 2"); 

     AddressBook entry2 = new AddressBook("Robert", "James", "Smith", "56 Outtamy Way", 
              "564-342-8372", "564-283-9832", 
              "564-293-3489", "brucie392", "brucieface28", 
              "http://www.freewebhost.com/carteristheman"); 

     System.out.println("First Name:  " + entry2.getFirstName()); 
     System.out.println("Middle Name:  " + entry2.getMiddleName()); 
     System.out.println("Last Name:  " + entry2.getLastName()); 
     System.out.println("Address:   " + entry2.getHomeAddress()); 
     System.out.println("Home Phone:  " + entry2.getHomePhone()); 
     System.out.println("Cell Phone:  " + entry2.getCellPhone()); 
     System.out.println("Business Phone: " + entry2.getBusinessPhone()); 
     System.out.println("Skype ID:   " + entry2.getSkypeId()); 
     System.out.println("Facebook ID:  " + entry2.getFacebookId()); 
     System.out.println("Personal Website: " + entry2.getPersonalWebSite()); 

     System.out.println("\nENTRY 3"); 

     AddressBook entry3 = new AddressBook("Susan", "Anne", "Peters", "6 Madeup Blvd", 
              "736-453-1238", "736-392-2385", 
              "736-926-2439", "anniep", "susananne", 
              "http://www.freewebhost.com/Susanspage"); 

     System.out.println("First Name:  " + entry3.getFirstName()); 
     System.out.println("Middle Name:  " + entry3.getMiddleName()); 
     System.out.println("Last Name:  " + entry3.getLastName()); 
     System.out.println("Address:   " + entry3.getHomeAddress()); 
     System.out.println("Home Phone:  " + entry3.getHomePhone()); 
     System.out.println("Cell Phone:  " + entry3.getCellPhone()); 
     System.out.println("Business Phone: " + entry3.getBusinessPhone()); 
     System.out.println("Skype ID:   " + entry3.getSkypeId()); 
     System.out.println("Facebook ID:  " + entry3.getFacebookId()); 
     System.out.println("Personal Website: " + entry3.getPersonalWebSite()); 



     String equal = AddressBook.compareNames(entry1.getFirstName() + " " + 
           entry1.getMiddleName().charAt(0) + " " + 
           entry1.getLastName(), 
           entry2.getFirstName() + " " + 
           entry2.getMiddleName().charAt(0) + " " + 
           entry2.getLastName()); 

System.out.println(equal); 


} 
} 
很好看

现在是平等的,但你要知道,为了做到这一点,你应该使用

的compareTo()或类似看看这个

https://www.javacodegeeks.com/2013/03/difference-between-comparator-and-comparable-in-java.html

,如果你使用的地图,会发生什么?这取决于一个关键,你会得到重复的价值观,我的意思是如果你不会使用它是好的你的代码,但如果你将使用它,然后看看那里的眼睛:)

+0

这正是我需要的!我知道我错过了一些明显的东西。现在一切都说得通了。谢谢! – ripp2k

+0

完成........... – ripp2k