Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33

Discussione: chiamare un metodo

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    49

    chiamare un metodo

    non riesco a chiamare un metodo ....
    il metodo è questo :

    /** aggiungere un metodo booleano confrontaCognome(...) che confronta il cognome del contatto con quello
    di un altro Contatto passato come parametro del metodo.
    Il metodo restituisce true se i due contatti hanno cognome uguale; false altrimenti
    */
    public boolean confrontaCognome(Contatto c) {
    return this.cognome.equals(c.cognome);
    }

    salavto in un file contatto.java

    questa è l'applicazione

    codice:
    import java.util.Scanner;
    
    /* Questa applicazione crea un oggetto di tipo Contatto e lo inizializza.
       Poi visualizza a video i dati dell'oggetto.
       */
    
    
    public class ProvaContatto {
    
      public static void main(String[] args) {
    
      Scanner input = new Scanner(System.in);
    
      
    
      Contatto contatto = new Contatto();
      contatto.setCognome("Smith");
      //contatto.setEta(20);
      contatto.riempiContatto();
      contatto.modificaContatto();
      contatto.toString();
      contatto.etaMaggiore(43);
      contatto.confrontaCognome("beux");
      //contatto.confrontaNomeCognome();
    
      System.out.println(contatto.getCognome());
      //System.out.println(contatto.getEta());
    L'errore che mi da è " confrontaCognome ( contatto) cannot be applied to ( java.lang.String)


    ho fatto alcune prove modificando i parametri ma forse è più semplice di quello che penso ....... qualche aIUTINO ?

  2. #2
    Il metodo confrontaCognome prende come parametro un oggetto di tipo Contatto e non una Stringa:

    codice:
    public boolean confrontaCognome(Contatto c) {
        return this.cognome.equals(c.cognome);
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    49
    l'ho modificato così

    contatto.confrontaCognome(contatto);

    ma il metodo di fatto non viene eseguito dove ho toppato ?

  4. #4
    Originariamente inviato da lurens79
    ...
    contatto.confrontaCognome(contatto);
    ...
    Quello che hai scritto non ha senso. Cos'è contatto che passi al metodo?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da lurens79
    l'ho modificato così

    contatto.confrontaCognome(contatto);

    ma il metodo di fatto non viene eseguito dove ho toppato ?
    Quel valore devi assegnarlo ad una qualche variabile di tipo boolean, oppure puoi stamparlo a video!
    Come dice Satifal, scritto così non ha senso.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    49
    mi fate un esempio per cortesia ... ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da lurens79
    mi fate un esempio per cortesia ... ?
    scusa satifal ti ha dato la signature, tu sai richiamare un metodo passando un parametro?

    Hai un oggetto di tipo Contatto

    oggettoA

    che vuoi confrontare con un altro di tipo Contatto

    oggettoB

    codice:
    oggettoA.confrontaCognome(oggettoB);
    mi spieghi dove è la difficoltà in questo?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    49
    il problema è infatti cosa mettere in oggetto A e B

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa tu quando devi confrontare 2 oggetti, non li hai già in memoria da qualche parte?
    Fai un main in cui leggi da input in sequenza 2 contatti e prima di uscire fai contatto1.confronta(contatto2).

    Davvero non vedo qui la complicazione

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    49
    un cognome lo inserisco io così

    contatto.setCognome("Smith");

    e l'altro lo prende in input da questo metodo

    public void riempiContatto() {
    Scanner tastiera = new Scanner(System.in);
    System.out.print("Nome: ");
    this.nome = tastiera.nextLine();/* NB: "nome" e' la var di istanza di "this". */
    System.out.print("Cognome: ");


    devo confrontare i due cognomi ...... ma non ho ancora capito come

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.