2017-03-31 1 views
0

나는 학교 과제의 일환으로 주소록을 만들고 있는데, 대부분 알아 냈지만 한 부분에 붙어 있습니다. 여기에 내 코드가있다. 변수와 적절한 getter 및 setter 메서드가 포함 된 AddressBook 클래스를 사용하여 책의 각 사람에 대한 정보를 변경/반환 할 수 있습니다. 그런 다음 주소록이 어떻게 작동하는지 보여주는 main 메서드가있는 TestAddressBook 클래스가 있습니다. 내가 붙어있는 유일한 것은 마지막 요구 사항입니다. 여기서 두 이름을 비교하고 그 결과가 같은지 확인하고 결과를 인쇄합니다. 내가 원하는 방식으로 프로그램을 만들었지 만 비교할 때 어떤 이유로 비교 결과를 출력하지 않습니다. 그냥 아무 것도 인쇄하지 않습니다. 나는 명백한 것을 놓치고있어. 다음은 클래스에 대한 코드입니다.주소록 프로그램

주소록 ...

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