Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [java] Consigli su esercizio...

    Sto studiando JAVA e mi servirebbe un aiutino per capire dove sto sbagliando.. nella risoluzione di un esercizio propostomi... da una guida sull'argomento che non riporta la soluzione

    Esercizio che m'impalla...

    Realizzare un’applicazione che simuli il funzionamento di una rubrica Il lettore si limiti a simulare la seguente situazione:
    una rubrica contiene informazioni (nome, indirizzo, numero telefonico) su di un certo numero di persone (per esempio 5) prestabilito (le informazioni sono pre-introdotte nel metodo main). L’utente, dovrà fornire all’applicazione un nome da riga di comando, e l’applicazione dovrà restituire le informazioni relative al nome della persona. Se il nome non è fornito, o se il nome immesso non corrisponde al nome di una persona pre-introdotta dall’applicazione, deve essere restituito un messaggio significativo.

    Ecco il codice finora da me partorito..

    class UtentiRubrica {

    private String nome, indirizzo, telefono;

    }

    class Rubrica
    {
    public static void main(String args[])
    {

    UtentiRubrica primo = new UtentiRubrica("Tommaso", "via rubens", "868697");
    UtentiRubrica secondo = new UtentiRubrica("Paolo", "via plucci", "432397");
    UtentiRubrica terzo = new UtentiRubrica("Marco", "via ghisu", "868976");
    UtentiRubrica quarto = new UtentiRubrica("Pippo", "via floret", "68696");
    UtentiRubrica quinto = new UtentiRubrica("Giorgio", "via pippolis", "647649");

    if (utente == primo || utente == secondo || utente == terzo || utente == quarto || utente == quinto)
    //Stampa dei dati richiesti
    System.out.println("L'utente scelto ha i seguenti dati relativi:" +
    utente.indirizzo +"---"+ utente.telefono);
    else
    System.out.println("L'utente scelto nn è al momento presente in rubrica:"
    }
    }

    Il programma una volta compilato andrà chiamato cosi':

    java Rubrica nomediprova (es. Pippo)

    Sembrerebbe tutto ok tranne il fatto che non so come legare utente al resto...
    e non so alla fine dove mettere la classe UtentiRubrica rispetto al main...

    Qualche prof o sexy profssa mi aiuta?

    Thanks
    Lo studente

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; questo è un semplice esempio.... non l'ho provato ma dovrebbe funzicare.
    Ciao

    codice:
    public class Utente {
        
        private String nome;
        private String cognome;
        private String via;
        private String telefono;
        public Utente( String _nome, String _cognome, String _telefono, String _via ) {
            
            setNome( _nome );
            setCognome( _cognome );
            setTelefono( _telefono );
            setVia( _via );
        }
        
        public void setNome( String value ){
            
            nome = value;
        }
        
        public String getNome(){
            
            return nome;
        }
        
        public void setCognome( String value ){
    
            cognome = value;
        }
    
        public String getCognome(){
    
            return cognome;
        }    
        
        public void setVia( String value ){
    
            via = value;
        }
    
        public String getVia(){
    
            return via;
        }
    
        public void setTelefono( String value ){
    
            telefono = value;
        }
    
        public String getTelefono(){
    
            return telefono;
        }
        
        public String toString(  ){
            
            return "Nome utente: "+ getNome()+" cognome: "+ getCognome()+" telefono: "+getTelefono()+" indirizzo: "+getVia();
        }
    
    }
    codice:
    import java.util.Hashtable;
    
    public class Main {
        
        public static void main(String[] args) {
            
            if( args.length < 1 ){
                
                System.out.println( "Inserire il nome....." );
                System.exit(0);
            }
            Hashtable h = new Hashtable();
            h.put( "Pippo", new Utente( "Pippo", "Pelo", "0245", "via alcide" ) );
            h.put( "Pluto", new Utente( "Pluto", "Cane", "0245", "via topi" ) );
            h.put( "Topolino", new Utente( "Topolino", "Top", "0245", "topolinia" ) );
            if( h.containsKey( args[0] ) ){
                Utente u = ( (Utente)( h.get( args[0] ) ) );
                System.out.println( u );
            }else{
                
                System.out.println( "Passato un nome non in rubrica" );
            }
        }
    }
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ciao freetom, ti do qualche delucidazione.

    Nel mitico
    codice:
      public static void main (String args[])
    String args[] è l'array di stringhe dei parametri che passi alla tua applicazione

    Quindi manda in esecuzione con:

    java Rubrica Pippo

    equivale a dire che
    codice:
    args[0] = "Pippo";
    Poi c'è un problema concettuale da risolvere: in Java non si confrontano gli oggetti con "==", quello va bene per i tipi primitivi (tipo int o double, tanto per intenderci).
    Gli oggetti vanno confrontati con equals, e visto che le stringhe sono oggetti, il tuo confronto sarà qualcosa del tipo

    codice:
    boolean uguali = stringa1.equals(stringa2);
    Ultima cosa, bisognerebbe vedere come è fatta la classe UtentiRubrica, ossia che metodi ha: mi aspetterei qualcosa come il codice di Angelo1974 della classe Utente. UtentiRubrica avrà dei metodi per restituire il nome del contatto, l'indirizzo, il numero di telefono, etc.
    Facciamo finta che esista il metodo
    String getName() nella classe UtentiRubrica

    allora per confrontare l'utente immesso da linea di comando con l'eventuale utente nella rubrica dovresti fare un controllo tipo

    codice:
    if (utente.equals(primo.getName()) || ... || utente.equals(quinto.getName())) {
      System.out.println("Utente trovato: ...");
    } else {
      System.out.println("Utente non trovato");
    }
    dove utente altro non è che args[0]
    Spero di averti chiarito un po' le idee.
    Ciao
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.