2017-03-31 5 views
0

Je fais un carnet d'adresses dans le cadre d'une tâche d'école et je l'ai principalement compris, mais je suis coincé sur une partie. Voici mon code en premier. J'ai une classe AddressBook qui contient des variables et des méthodes getter et setter appropriées pour changer/retourner l'information pour chaque personne dans le livre. Ensuite, j'ai une classe TestAddressBook avec une méthode principale qui montre comment fonctionne le carnet d'adresses. La seule chose sur laquelle je suis bloqué, c'est l'exigence finale, où l'on me demande de comparer deux noms et de voir s'ils sont égaux et d'imprimer les résultats. J'ai le programme conçu comme je le veux, mais pour une raison quelconque, quand je fais la comparaison, il n'imprime pas les résultats de la comparaison. Cela n'imprime rien du tout. Je dois manquer quelque chose d'évident. Voici le code pour les classes.Programme de carnet d'adresses

AddressBook ...

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; 
    } 
} 

}

classe test ...

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

Aussi, juste pour être clair, l'affectation indique spécifiquement que la méthode compareNames dans ma classe AddressBook est de ne rien imprimer, elle renvoie simplement la valeur de la comparaison. Je dois donc l'imprimer depuis l'appel de méthode dans ma classe de test. c'est-à-dire quelque chose comme "nom 1 et nom 1 ne sont pas des noms égaux" – ripp2k

+0

Vous réalisez que vous n'essayez pas d'imprimer le résultat de 'compareNames' dans votre code? – UnholySheep

+0

Alors, comment pourrais-je imprimer les résultats de la comparaison de noms dans ma classe de test? – ripp2k

Répondre

0

bien vous en avez un bon oeil à ce

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); 


} 
} 

maintenant il est égal à égal, mais vous devez savoir que pour ce faire, vous devez utiliser

compareTo() ou regard comparable à ce

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

Que se passerait-il si vous utilisez une carte ? où cela dépend d'une clé, vous obtiendrez des valeurs en double, je veux dire si vous ne l'utiliserez pas c'est correct votre code, mais si vous l'utiliserez alors regardez un oeil là-dedans :)

+0

C'est exactement ce dont j'avais besoin! Je savais qu'il me manquait quelque chose d'évident. Tout s'explique maintenant. Je vous remercie! – ripp2k

+0

Fait ........... – ripp2k