Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    Creazione Rubrica ad interfaccia Java

    Salve a tutti e ringrazio in anticipo quanti di voi collaboreranno con me a questo progettino di ripasso per Java.
    Devo sostenere un esame universitario a breve ed ho intenzione di studiare da ora il java per farmi trovare pronta.
    Ho pensato che il modo più opportuno sarebbe realizzare una rubrica telefonica.
    Ecco un mio piccolo schizzo :

    * Il file contenente i dati dovrà chiamarsi "rubrica" con l'estensione più adatta ad esso

    * Ho intenzione di utilizzare diverse classi, una per ogni operazione da fare sulla rubrica:
    1. Inserimento nuovo "contatto"
    2. Ricerca di un contatto tramite un parametro dato in ingresso: nome o numero di telefono ( preferirei fare una semplice ricerca sequenziale, dal primo all'ultimo contatto )
    3. Visualizzazione dell'intero contenuto della rubrica
    4. Modifica dei dati di un contatto
    5.Cancellazione di un contatto
    Per ogni contatto vorrei utilizzare un oggetto CONTATTO del seguente tipo:

    1. NOME di tipo stringa di 20 caratteri
    2.Cognome
    3. N_TEL (numero telefono) di tipo stringa di 15 caratteri
    4.Indirizzoo
    5. NOTE : eventuali note

    Comincio ad abbozzare un pò di codice...
    Aspetto consigli ed iniziative....
    Grazie in anticipo a quanti di voi collaboreranno....

    Ecco qui un primo abbozzo della classe contatto
    codice:
    public class Contatto {
    		protected String nome;
    		protected String cognome;
    		protected String numero;
    		protected String note;
    		protected String indirizzo;
    		
    		public Contatto (String nome,String cognome, String numero, String note, String indirizzo){
    			this.nome=nome;
    			this.cognome=cognome;
    			this.numero=numero;
    			this.indirizzo=indirizzo;
    			this.note=note;
    		}
    			public String getNome(){
    				return nome;
    			}
    			public String getCognome(){
    				return cognome; 
    			}
    			public String getNum(){
    				return numero;
    			}
    			public String getNote(){
    				return note;
    			}
    			public String getInd(){
    				return indirizzo;
    			}
    }
    Nella creazione della classe Rubica mi trovo già in difficoltà perchè non so come implementare la funzione cerca, e inserire un file per lo stream.

    codice:
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    import java.util.ArrayList;
    
    public class Rubrica implements Serializable{
    
        private ArrayList<Contatto> elencoPersone=new ArrayList<Contatto>();
        private Contatto proprietario;
        private ObjectOutputStream fileOut=null;
        private static ObjectInputStream fileIn=null;
        
        public Rubrica(Contatto proprietario){
            this.proprietario=proprietario;
        }
        
        public void inserisciContatto(Contatto p){
            elencoPersone.add(p);
        }
        
        public void visualizzaContatto(int numTelefono){
            //Cosa devo scrivere?
            }
        }
        
        public void salvaSuFile(String filepath){
            try{
                fileOut=new ObjectOutputStream(new FileOutputStream(filepath));
                fileOut.writeObject(this);
                fileOut.close();
            }catch (IOException ex){
               //errore
            } 
        }
        
        static public Rubrica caricaDaFile(String filepath){
            Rubrica r=null;
            try{
                fileIn=new ObjectInputStream(new FileInputStream(filepath));
                r=(Rubrica)fileIn.readObject();
                return r;
            }catch (Exception ex){
               //errore
            }
            return r;
        }
    }

    Adesso come faccio ad implementare l'interfaccia grafica?

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Creazione Rubrica ad interfaccia Java

    Originariamente inviato da Uffy_disp
    * Ho intenzione di utilizzare diverse classi, una per ogni operazione da fare sulla rubrica:
    In che senso???

  3. #3

    Re: Creazione Rubrica ad interfaccia Java

    Originariamente inviato da Uffy_disp
    Adesso come faccio ad implementare l'interfaccia grafica?
    Cerca di fare una cosa per volta...Sistema e termina la classe Rubrica.
    Domanda: perchè gli attributi della classe Contatto sono protetti?

  4. #4
    Gli attributi della classe contatto ovvimnete dovevano essere privati e non protetti Sorry!
    Per quanto riguarda la classe Rubrica non ho idea di come continuare ad implementarla,potreste darmi una dritta? Grazie

  5. #5
    Originariamente inviato da Uffy_disp
    Per quanto riguarda la classe Rubrica non ho idea di come continuare ad implementarla,potreste darmi una dritta? Grazie
    Tu hai scritto:
    1. Inserimento nuovo "contatto"
    2. Ricerca di un contatto tramite un parametro dato in ingresso: nome o numero di telefono ( preferirei fare una semplice ricerca sequenziale, dal primo all'ultimo contatto )
    3. Visualizzazione dell'intero contenuto della rubrica
    4. Modifica dei dati di un contatto
    5. Cancellazione di un contatto
    quindi, non devi far altro che definire i metodi di Rubrica in base alle astrazioni suddette.

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da Uffy_disp
    Gli attributi della classe contatto ovvimnete dovevano essere privati e non protetti Sorry!
    "Devono" non è detto, se vuoi creare sottoclassi di contatti va bene anche che siano protetti. Tutto dipende da cosa vuoi fare

  7. #7
    Ho un problema! Quando ho un ArrayList<Contatto> come faccio a farmi stampare in uscita tutta la lista dei contatti?
    In tanto vi facico vedere come stò procedendo.
    Contatto
    codice:
    public class Contatto {
    		private String nome;
    		private String cognome;
    		private String numero;
    		private String note;
    		private String indirizzo;
    		
    		public Contatto (String nome,String cognome, String numero, String note, String indirizzo){
    			this.nome=nome;
    			this.cognome=cognome;
    			this.numero=numero;
    			this.indirizzo=indirizzo;
    			this.note=note;
    		}
    			public String getNome(){
    				return nome;
    			}
    			public String getCognome(){
    				return cognome; 
    			}
    			public String getNum(){
    				return numero;
    			}
    			public String getNote(){
    				return note;
    			}
    			public String getInd(){
    				return indirizzo;
    			}
    			public void show(){
    				System.out.println(nome+
    						" "+cognome+
    								" "+numero+
    										" "+indirizzo+
    												" "+note);
    			}
    			public void delete(){
    				nome=cognome=indirizzo=note=numero=null;
    			}
    			public void modifica(String num, String not, String addr ){
    				this.numero=num;
    				this.note=not;
    				this.indirizzo=addr;
    			}
    }
    Rubrica
    codice:
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.util.ArrayList;
    
    public class Rubricaa {
    	private static ArrayList<Contatto> con;
    	
    	//private ObjectOutputStream fileOut=Rubrica.txt;
        //private static ObjectInputStream fileIn=Rubrica.txt;
        
    	public Rubricaa(){
    	con = new ArrayList<Contatto>();
    	
    	}
    	public void addCon(Contatto c)throws Exception {
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.show();
    			}
    		}
    		if(!found)con.add(c);
    		else throw new Exception();
    	}
    	public void vediCon(Contatto c){
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.show();
    			}
    		}
    		
    			System.out.println("Il contatto non è presente in rubrica");
    	}
    	public void del(Contatto c){
    		for(Contatto p: con){
    			if(p.getNome().equals(c.getNome())|| p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				c.delete();
    			}
    		}
    	}
    	public void mod(Contatto c,String num,String notes,String addres){
    		boolean found = false;
    		for(Contatto p: con){
    			if (p.getNome().equals(c.getNome())&& p.getCognome().equals(c.getCognome())|| p.getNum().equals(c.getNum())){
    				found = true;
    				c.modifica(num,notes,addres);
    			}
    		}
    	}
    		
    	public void vediRubrica(ArrayList<Contatto> a){
    		
    		
    			
    		}
    }

  8. #8
    Originariamente inviato da Uffy_disp
    Ho un problema! Quando ho un ArrayList<Contatto> come faccio a farmi stampare in uscita tutta la lista dei contatti?
    Se intendi stampare gli elementi della lista sulla console, allora ti basta iterare tale lista e stampare quindi ogni elemento sulla console.

    P.S. Ti consiglio di ridefinire il metodo toString() nella classe Contatto.

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ArrayList ha il mteodo get(int index), fai un ciclo per ogni contatto dell'ArrayList

    pseudo codice
    codice:
    public mostraRubrica()
    {
          ciclo(per ogni i fino a fine dell'Array con)
         {
              Contatto contatto=con.get(i);
              contatto.show();
         }
    }

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da VincenzoTheBest
    Se intendi stampare gli elementi della lista sulla console, allora ti basta iterare tale lista e stampare quindi ogni elemento sulla console.

    P.S. Ti consiglio di ridefinire il metodo toString() nella classe Contatto.
    Giusto anche questo, ma io avevo visto che aveva il metodo show e ho fatto con quello

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.