Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-11-2009, 15:09   #1
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
[JAVA] Realizzare una rubrica telefonica

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 febbraio ed ho intenzione di studiare da ora il java per farmi trovare pronto

Ho pensato che il modo più opportuno sarebbe realizzare una rubrica telefonica. Vorrei utilizzare un file che non sia di testo, ma se proprio nessuno è in grado di aiutarmi con il codice, ne utilizzerò uno di testo.

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. Ordinamento in ordine alfabetico dei contatti della rubrica (l'ordinamento verrà avviato automaticamente dopo le seguenti operazioni: inserimento nuovo contatto, modifica di un contatto, cancellazione di un contatto)
    5. Modifica dei dati di un contatto
    6. Cancellazione di un contatto
    Ovviamente la classe di ricerca verrà utilizzata anche per modificare un contatto o cancellarlo, andando a chiedere una conferma prima di effettuare l'operazione
  • Per ogni contatto vorrei utilizzare un oggetto CONTATTO del seguente tipo:
    1. NOME di tipo stringa di 20 caratteri
    2. N_TEL (numero telefono) di tipo stringa di 15 caratteri
    3. NOTE : eventuali note
Come si può ben comprendere, il tipo di accesso al file, la scrittura, e la ricerca, dipenderanno dal tipo di file che si utilizzerà, e quindi io preferirei utilizzare un file ad accesso diretto anzichè file di testo... Mi piacerebbe utilizzare un file di estensione sconosciuta, e quindi impossibile da leggere se non con la mia rubrica...

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

N.B. Al momento vorrei evitare di utilizzare le interfacce, quindi mi limiterò a far funzionare le classi tramite una semplice console.

Non so se importa, comunque, io utilizzo Eclipse come editor...

Ultima modifica di skyblu_angel : 12-11-2009 alle 15:25. Motivo: N.B.
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 15:54   #2
lupixslacky
Junior Member
 
L'Avatar di lupixslacky
 
Iscritto dal: Jun 2005
Messaggi: 26
class Persona{
private String nome;
private String cognome;
private String numero;
....
....
public Persona(String nome,String cognome){Costruisco un oggetto persona con nome e cognome
this.nome=nome
this.cognome=cognome;
}
//metodi accessori
//membri mutatori


Poi ti serve una struttura dati in grado di contenere gli oggetti,puoi
usare un ArrayList,un Set o una Map.


Alla fine una classe main,con uno switch dove
a nome cognome
inserisci nome e cognome
e via dicendo.
Ciao e spero di esssere stato utile.
In poche parole e' un po' complesso spiegare.
Posta il codice scritto da te cosi' is better
lupixslacky è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 15:56   #3
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Quote:
Originariamente inviato da lupixslacky Guarda i messaggi
class Persona{
private String nome;
private String cognome;
private String numero;
io veramente vorrei fissare dei valori massimi a questi parametri...
Come faccio a definire nome di massimo (esempio) 20 caratteri? Sempre di tipo String ovviamente...

Per il menù, non ti preoccupare... è molto chiaro
Il tempo di definire l'oggetto persona e comincio a buttare giù un pò di codice... ora sto facendo tutto su carta..
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 16:06   #4
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Queste, se non erro, sono le classi che mi servono per creare un flusso tra programma e file, e con esso leggere o scrivere dati sul file

Quote:
FileOutputStream
FileInputStream
ObjectInputStream
ObjectOutputStream
Ho pensato che il file può avere stensione .bin Cosa ne pensate?
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 16:09   #5
lupixslacky
Junior Member
 
L'Avatar di lupixslacky
 
Iscritto dal: Jun 2005
Messaggi: 26


http://java.sun.com/j2se/1.5.0/docs/...ng/String.html

Qua trovi tutto,ma per i raffinamenti ci pensiamo alla fine.Ciao.
lupixslacky è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 18:04   #6
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Non riesco a trovare niente di utile e allora mi sono ridotto a fare così : Se il parametro in ingresso è di lunghezza minore o uguale ad N allora assegno, altrimenti prendo la subString da 0 ad N. Però mi chiedevo se fosse possibile fin dalla dichiarazione fissare un valore massimo o meno...

Quote:
appoggio = tastiera.readLine();
Integer N=10; // vincolo di lunghezza massima
controllo_lunghezza=appoggio.length();
if (controllo_lunghezza<=N){
nome=appoggio;
}
else {nome=appoggio.substring(0, N);}
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 18:56   #7
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Sto cominciando a creare la classe Rubrica...

Quote:
public class Rubrica {
public static int opzione; //opzione per il menù
private static String nome; //nome del contatto
private static String cognome; //cognome del contatto
private static String n_tel; //numero di telefono del contatto

//costruttore predefinito
public Rubrica(){
nome=null;
cognome=null;
n_tel=null;
}

//imposta il nome
public static void setNome(String N){
nome=N;
}

//imposta il cognome
public static void setCognome(String C){
cognome=C;
}

//imposta numero di telefono
public static void setNtel(String Ntel){
n_tel=Ntel;
}

//preleva nome
public String getNome(){
return nome;
}
//preleva cognome
public String getCognome(){
return cognome;
}
//preleva numero di telefono
public String getNtel(){
return n_tel;
}

}

A breve posterò la classe menù...
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 19:07   #8
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Chi mi da una mano ad usare JFileChooser ???

Mi serve per scegliere il file di testo da caricare e/o da salvare....
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 20:50   #9
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Mica era 'senza intefacce'? Passa il nome del file come argomento al main.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 21:30   #10
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da skyblu_angel Guarda i messaggi
Sto cominciando a creare la classe Rubrica...




A breve posterò la classe menù...
fai confusione con la keyword "static" per me, le variabili d'istanza non sono statiche, come i metodi che vanno a interrogare/mutare l'oggetto, poi la classe di nome Rubrica logicamente non l'hai modellata come rubrica, ma come persona e in più hai mischiato un oggetto di dominio (una persona (o contatto)) con un'operazione che andrai a fare (quell'"int opzione").

Quindi ricapitolando avrai una classe che modellerà il concetto di persona o contatto ("public class Persona"), una classe che modellerà una rubrica ("public class Rubrica") che sarà una collezione di persone/contatti, una classe per gestire salvataggi e reperimenti delle persone da file ("public class PersonaDAO" e "public class RubricaDAO"), una classe che rappresenta le operazioni che vorrai fare ("public class RubricaBusinessLogic") e una o più classi che rappresenta l'UI con l'utente ("public class RubricaUI"). Per diminuirne la "complessità" potresti fondere la classe di UI, di business logic e di DAO nella combinazione che vuoi (DAO+BusinessLogic e UI o DAO e BusinessLogic+UI o DAO+BusinessLogic+UI) ma perdi in modularità e futura espansione.
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB
morskott è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 13:16   #11
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Quote:
Originariamente inviato da morskott Guarda i messaggi
fai confusione con la keyword "static"
Per questo ho risolto ed ho eliminato la keyword...


Quote:
Originariamente inviato da morskott Guarda i messaggi
la classe di nome Rubrica logicamente non l'hai modellata come rubrica, ma come persona e in più hai mischiato un oggetto di dominio (una persona (o contatto)) con un'operazione che andrai a fare (quell'"int opzione").
Il parametro "opzione" mi serve per i menù che andrò a fare, poichè al momento l'iterazione con l'utente sarà tramite caratteri ed ho deciso di utilizzare "opzione" come controllo di tutte le scelte dei menù.
Non ho capito bene il discorso che hai fatto poi con il discorso PERSONA e RUBRICA. Ho capito ciò che intendi :"Persona riguarda i dati di una singola persona e Rubrica tratta tutti i dati assieme". Però secondo il mio pensiero, non ho bisogno di una classe che tratti tutti i dati di tutta la rubrica poichè non vorrei caricare tutti i dati assieme in memoria... Tratterò i dati su un file di testo (purtroppo mi tocca!) e quindi caricherò in memoria una persona per volta e non tutti assieme...

Però, giusto per sapere, come dovrei creare la classe rubrica? Mi scrivi una bozza di codice? Mi riferisco alla classe che intendi tu, ossia quella che tratta una collezione di persone/contatti...

Quote:
Originariamente inviato da morskott Guarda i messaggi
una classe per gestire salvataggi e reperimenti delle persone da file ("public class PersonaDAO" e "public class RubricaDAO"), una classe che rappresenta le operazioni che vorrai fare ("public class RubricaBusinessLogic") e una o più classi che rappresenta l'UI con l'utente ("public class RubricaUI"). Per diminuirne la "complessità" potresti fondere la classe di UI, di business logic e di DAO nella combinazione che vuoi (DAO+BusinessLogic e UI o DAO e BusinessLogic+UI o DAO+BusinessLogic+UI) ma perdi in modularità e futura espansione.
Qui mi sono perso totalmente!
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 14:01   #12
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da morskott Guarda i messaggi
Per diminuirne la "complessità" potresti fondere la classe di UI, di business logic e di DAO nella combinazione che vuoi (DAO+BusinessLogic e UI o DAO e BusinessLogic+UI o DAO+BusinessLogic+UI) ma perdi in modularità e futura espansione.
Penso non gliene importi nulla, per cui propenderei per la diminuzione della modularità: mi sembra di capire che ha ben altro su cui concentrarsi, al momento

@skyblu_angel: ma l'applicazione è dotata di interfaccia grafica, oppure è a consolle/terminale? Se è senza interfaccia grafica, allora niente JFileChooser.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 13-11-2009 alle 14:04.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 14:07   #13
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Al momento il mio programmino è tutto ad interfaccia a caratteri, difatti non sto utilizzando il JFileChooser...
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 14:30   #14
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da skyblu_angel Guarda i messaggi
Il parametro "opzione" mi serve per i menù che andrò a fare, poichè al momento l'iterazione con l'utente sarà tramite caratteri ed ho deciso di utilizzare "opzione" come controllo di tutte le scelte dei menù.
Non ho capito bene il discorso che hai fatto poi con il discorso PERSONA e RUBRICA. Ho capito ciò che intendi :"Persona riguarda i dati di una singola persona e Rubrica tratta tutti i dati assieme". Però secondo il mio pensiero, non ho bisogno di una classe che tratti tutti i dati di tutta la rubrica poichè non vorrei caricare tutti i dati assieme in memoria... Tratterò i dati su un file di testo (purtroppo mi tocca!) e quindi caricherò in memoria una persona per volta e non tutti assieme...
morskott ti ha dato un ottimo consiglio.
Dovresti modellare una classe che caratterizzi una rubrica e una che caratterizzi una persona.
Ti devi chiedere cos'è una rubrica in realtà? Non è altro che un qualcosa che contiene, in modo più o meno ordinato, un elenco di persone con rispettive informazioni.
E cos'è una persona? Beh è un'entità che sarà inserita in una rubrica, contiene un nome, un cognome, un numero di telefono, un numero di ufficio e così via...

Quote:
Originariamente inviato da skyblu_angel Guarda i messaggi
Però, giusto per sapere, come dovrei creare la classe rubrica? Mi scrivi una bozza di codice? Mi riferisco alla classe che intendi tu, ossia quella che tratta una collezione di persone/contatti...
Esempio di classe Rubrica

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<Persona> elencoPersone=new ArrayList<Persona>();
    private Persona proprietario;
    private ObjectOutputStream fileOut=null;
    private static ObjectInputStream fileIn=null;
    
    public Rubrica(Persona proprietario){
        this.proprietario=proprietario;
    }
    
    public void inserisciContatto(Persona p){
        elencoPersone.add(p);
    }
    
    public void visualizzaContatto(int numTelefono){
        //cerca il numero tra i contatti, se lo trovo stampa le informazioni
        //del contatto
    }
    
    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;
    }
}
Da usare tipo
Codice:
//nuova rubrica
Persona proprietario=new Persona(nome,cognome,ecc,ecc)
Rubrica r=new Rubrica(proprietario);

//salvatggio rubrica su file
r.salvaSuFile("rubrica.dat");

//recupero da file
Rubrica r=Rubrica.caricaDaFile("rubrica.dat");
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 15:59   #15
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
WooooooW... tu si che mi hai dato una grossa mano!

Soltanto un piccolo problemino! Non ho mai capito a cosa serve THIS

Sto cercando sul mio libro di java, ma non ci capisco niente!


ALLORA,... tenendo presente la tua classe RUBRICA... La mia classe Persona dovrebbe essere così:

Quote:
public class Persona {

private String nome; //nome del contatto
private String cognome; //cognome del contatto
private String n_tel; //numero di telefono del contatto
private String note; //note varie

//costruttore
public Persona(){
nome=null;
cognome=null;
n_tel=null;
note=null;
}

//imposta il nome
public void setNome(String N){
nome=N;
}

//imposta il cognome
public void setCognome(String C){
cognome=C;
}

//imposta numero di telefono
public void setNtel(String Ntel){
n_tel=Ntel;
}
//imposta le note
public void setNote(String NT){
note=NT;
}
//preleva nome
public String getNome(){
return nome;
}
//preleva cognome
public String getCognome(){
return cognome;
}
//preleva numero di telefono
public String getNtel(){
return n_tel;
}
//preleva le note
public String getNote(){
return note;

}
Giusto? Se è giusta la classe persona, cosa devo mettere nel metodo main?
Dopo tutto questa sarà soltanto una classe che utilizzerà gli attributi, non capisco cosa mettere nel metodo main()

Ultima modifica di skyblu_angel : 13-11-2009 alle 16:17.
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 16:40   #16
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Il this serve a riferirsi all'istanza della classe stessa.
Esempio pratico:
Codice:
private String nome, cognome;
private int numTelefono;

public PersonaString nome, String cognome, int numTelefono){
	this.nome=nome;
	this.cognome=cognome;
	this.numTelefono=numTelefono;
}
Come vedi, passo al costruttore persona dei parametri che hanno lo stesso nome di quelli che uso all'interno della classe Persona.
Se non avessi usato il this mi sarei trovato in una situazione del tipo nome=nome che è ovviamente di dubbio significato.

Vorrei farti notare che nella tua classe Persona puoi creare un costruttore al quale passi già tutti i dati volendo, così in un colpo solo crei una persona completa, come nell'esempio che ho fatto sopra, così potrai fare
Codice:
Persona p=new Persona("Marco","Rossi","000000000");
In pseudo codice il tuo main dovrebbe fare una cosa del genere:
Codice:
Rubrica r;
while(input!=exit){
	input=getInput(); //rimani in ascolto della console e prendi l'input passato
	command=parseInputCommand(input); //analizzi l'input in modo da isolare il comando principale
	switch(command){
		case new:
			nome=parseInputName(input); // analizzi l'input per isolare il nome
			cognome=parseInputSurname(input);
			r=new Rubrica(new Persona(nome,cognome,telefono, ecc ecc));
			break;
		case add:
			nome=parseInputName(input);
			cognome=parseInputSurname(input);
			// ecc ecc
			if(rubricaEsiste) r.inserisciContatto(new Persona(nome,cognome,telefono, ecc ecc));
			break;
		case delete:
			tel=parseInputTel(input);
			r.delete(tel);
			break;
		case save:
			filepath=parseInputFilepath(input);
			r.salvaSuFile(filepath);
			break;
		case print:
			r.stampaTutto();
			break;
			
	}
}
I comandi li dai via console e potrebbero essere del tipo:
new Pippo Disney 1100010101010 <- crea una nuova rubrica con proprietario pippo
add Mario Rossi 000000 <- inserisce il contatto nella rubrica
save rubrica.dat <- salva la rubrica su file
load rubrica.dat <- carica da file
ecc ecc
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2009, 19:38   #17
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Al momento, ho abbozzato il mio main()...
Non ho scritto nulla di che, soltanto che quando vado ad eseguirlo mi compare una finestra dove mi si chiede:
"Selezionare il modo di esecuzione della classe"
e poi mi compaiono due metodi di scelta:
java applet o java application

Il fatto è che qualunque delle due io selezioni, mi compare un messaggio di errore con su scritto: Selection does not contain a main type!

Ecco il mio main()

Quote:
public void main(String args[])throws IOException{
Persona contatto = new Persona();
Rubrica rubrica_telefonica= new Rubrica(contatto);
final String percorso_file="C:\\Documents and Settings\\Antonio\\Documenti\\Rubrica Telefonica.dat";
String controllo;

fileOut=new ObjectOutputStream(new FileOutputStream(percorso_file));
fileOut.close();

System.out.println("Fine programma...");
System.exit(0);
}
Dove sarà il problema?



EDIT: ho messo STATIC al metodo main e parte...
però ora mi da errore su queste due righe:
fileOut=new ObjectOutputStream(new FileOutputStream(percorso_file));
fileOut.close();
poichè mi dice che non si tratta di parametri STATIC...
Mettendo STATIC avanti alla dichiarazione di fileOut risolvo il problema...

Ultima modifica di skyblu_angel : 13-11-2009 alle 19:55.
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2009, 12:04   #18
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Ho alcuni problemi sulla funzione EMPTY dell'ArrayList[].

In pratica mi da sempre l'Array vuoto, quando invece ci sono degli oggetti al suo interno...

Ecco dove utilizzo il metodo di classe isEmpty():

Quote:
switch(opzione){
case 1: // visualizzazione contatti
boolean vuoto=rubrica_telefonica.isEmpty();

if (vuoto=true){
System.out.println("La rubrica è vuota!");
}
else{
System.out.println("Nome Cognome Telefono Note");
visualizzaRubrica(rubrica_telefonica);
}
break;

Ed ecco il metodo per visualizzare il contenuto dell'Array, che però entra in funzione soltanto se elimino il controllo "isEmpty" che ho posto precedentemente...

Quote:
public static void visualizzaRubrica(ArrayList<Persona> a){
Persona appoggio=new Persona();

for(int i=0; i<a.size();++i){
appoggio=(a.get(i));
System.out.println(appoggio.getNome()+appoggio.getCognome()+appoggio.getNtel()+appoggio.getNote());
}
}
Quest'ultimo metodo funziona, ma non so perchè non funziona il metodo isEmpty().
Qualcuno può darmi una dritta?
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2009, 12:19   #19
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Codice:
if(vuoto==true)
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2009, 12:35   #20
skyblu_angel
Member
 
L'Avatar di skyblu_angel
 
Iscritto dal: Aug 2006
Messaggi: 244
Quote:
Originariamente inviato da MEMon Guarda i messaggi
Codice:
if(vuoto==true)
AHAHAHA
me ne sono accorto proprio ora che mi hai postato la risposta!
Che erroraccio!

Comunque ora ho un problema ancora più grave!
Ad ogni aggiunta di dati di un singolo contatto che faccio, vengono persi tutti i dati precedenti perchè vengono sovrascritti, però l'aggiunta viene fatta.
Esempio

Dati contatto1ANDREA, PIRLO, 12345, null)
Dati contatto2ALEXANDER, PATO, 12345, attaccante)

Se faccio la visualizzazione, mi visualizza 2 volte i dati del contatto2

Se dovessi aggiungere un contatto3, mi visualizzerà 3 volte i dati del contatto3.. e così via!
skyblu_angel è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
HBM5, DDR6 e NAND da 400 layer: il futur...
'Aggiorna e arresta' non spegne ma riavv...
Ayaneo oltre le handheld: in arrivo uno ...
Progetto STELLAR: l'Europa punta sulle b...
L'auto cattura le sue stesse emissioni: ...
Hisense 55'' 4K Ultra HD 2025 in offerta...
Black Friday Xiaomi 2025: 5 offerte da n...
Apple si affida a Google? Gemini alla ba...
Gravidanze più facili? STAR, il s...
Startup cinesi di veicoli elettrici, ad ...
Volkswagen nella bufera...per il caff&eg...
Esaurito quello con Ryzen, ecco un altro...
Steam: gli utenti Linux sfondano la barr...
BYD nel terzo trimestre: utile netto sop...
Windows 11 verso un supporto Bluetooth p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v