|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
Programma in JAVA
Salve qualcuno sa fare questo programma in java?????
Un’amministrazione comunale ha organizzato l’archivio dei propri cittadini come segue: File “Anagrafica.dat” – 4 righe per ogni cittadino (in ordine alfabetico per cognome) - Nome - Cognome - Codice Fiscale - Data di Nascita (DD/MM/YYYY) File “RelFam.dat”: associa ad ogni capofamiglia i famigliari a carico – per ogni cittadino, tante triple quanti sono i famigliari a carico - Codice Fiscale Capofamiglia - Codice Fiscale Famigliare a Carico - Relazione di Parentela (es: coniuge, figlio …) Anagrafica.dat Gerardo Canfora CNFGRD66M05R934G 03/05/1965 … Rosa Ferrara CNFRFT69M05H674K 23/11/1971 … … RelFam.dat CNFGRD66M05R934G CNFRFT69M05H674K coniuge … … … RFTHTD65H05R513M HFRBRT77F91R311A Scrivere un programma, dotato di opportuna interfaccia grafica, per la produzione dello stato di famiglia, dati nome e cognome del capofamiglia. Per semplicità si assuma che la coppia nome e cognome individui univocamente un cittadino.
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Qui più di uno sa fare un programma del genere, che problema hai?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
voglio sapere come si fa cioè tutto il codice java per farlo funzionare una volta compilato
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Quote:
Niente Pappa Pronta! ![]() Qui si danno consigli! Chiedi di dubbi che hai e ti sarà risposto! |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
voglio sapere come si fa a trovare il nome partendo dal codice fiscale e una volta trovato come stampare tutti gli altri tutto utilizzando i vettori
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jun 2005
Messaggi: 502
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Fai una scansione dei dati contenuti in Anagrafica.dat e quando trovi un record in cui il codice fiscale corrisponde a quello che hai in mano hai trovato il tuo cittadino, con nome e cognome.
Sai che in Anagrafica.dat un record è un gruppo di quattro linee di testo. Puoi appoggiarti ad un iteratore. Supponiamo che un Record sia un oggetto del genere (pseudo): Codice:
Record(CodiceFiscale cf, String nome, String cognome, Data dataDiNascita) ()
getCodiceFiscale()
getNome()
getCognome()
getDataDiNascita()
Dato il Codice Fiscale CF:
Codice:
Record findRecord(CodiceFiscale cf) {
azzeraCursore();
finchè ci sono record da leggere
Record r = leggiRecordSuccessivo()
se r.getCodiceFiscale().equals(CF)
restituisci r //interrompe lo scorrimento
return null;
}
Codice:
Record leggiRecordSuccessivo() {
String nome = scanner.nextLine();
String cognome = scanner.nextLine();
String codiceFiscale = scanner.nextLine();
String dataDiNascita = scanner.nextLine();
Record r = new Record(
new CodiceFiscale(codiceFiscale),
nome,
cognome,
new Data(dataDiNascita));
return r;
}
Il fatto che tu ti sia posto il problema di "come trovare un cittadino partendo dal suo codice fiscale" mi fa pensare che tu sia partito col piede giusto perchè è una delle soluzioni che ti servono per poter finire il programma. Quella che suggerisco è naturalmente solo una delle possibili.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
ciao io ho provato cosi, solo che non riesco a impostare il metodo della classe Statof............
import java.io.*; class Anagrafe{ public Anagrafe(String nome,String cognome,String cf,String dn){ this.nome=nome; this.cognome=cognome; this.cf=cf; this.dn=dn; } public String getName(){ return nome; } public String getSurname(){ return cognome; } public String getCf(){ return cf; } public String getDn(){ return dn; } public static Anagrafe read(BufferedReader br)throws Exception{ String nome = br.readLine(); if(nome==null) return null; String cognome = br.readLine(); if(cognome==null) return null; String cf = br.readLine(); String dn = br.readLine(); return new Anagrafe(nome,cognome,cf,dn); } public void stampa(PrintStream p)throws Exception{ p.println(getName()+" "+getSurname()+" "+getCf()+" "+getDn()); } private String nome,cognome,cf,dn; } import java.io.*; class Familiari{ public Familiari(String capofamiglia,String familiare,String parentela){ this.capofamiglia=capofamiglia; this.familiare=familiare; this.parentela=parentela; } public String getCapo(){ return capofamiglia; } public String getFamiliare(){ return familiare; } public String getParentela(){ return parentela; } public static Familiari read(BufferedReader br)throws Exception{ String capofamiglia = br.readLine(); if(capofamiglia==null) return null; String familiare = br.readLine(); String parentela = br.readLine(); return new Familiari(capofamiglia,familiare, parentela); } public void stampa(PrintStream p) throws Exception{ p.println(getParentela()+""+getFamiliare()); } private String capofamiglia,familiare,parentela; } import java.io.*; import java.util.*; class Statof{ public Statof(String fileana,String filerel)throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(new File(fileana)))); BufferedReader br1 = new BufferedReader(new InputStreamReader( new FileInputStream(new File(filerel)))); vanagrafe = new Vector(); vrel = new Vector(); Anagrafe a = Anagrafe.read(br); while(a!=null){ vanagrafe.add(a); a = Anagrafe.read(br); } Familiari f = Familiari.read(br1); while(f!=null){ vrel.add(f); f = Familiari.read(br1); } } public void SFamiglia(String nome,String cognome)throws Exception{ Enumeration eana = vanagrafe.elements(); while(eana.hasMoreElements()){ Enumeration erel = vrel.elements(); boolean trovato = false; Anagrafe a = (Anagrafe) eana.nextElement(); Familiari f = (Familiari) erel.nextElement(); while(!trovato && eana.hasMoreElements()) { if(a.getName().equals(nome) && a.getSurname().equals(cognome)){ a.stampa(System.out); if(a.getCf().equals(f.getFamiliare())){ f.stampa(System.out); if(f.getFamiliare().equals(a.getCf())) a.stampa(System.out); trovato = true; }else { a = (Anagrafe) eana.nextElement(); f = (Familiari) erel.nextElement(); } } } } } private Vector vanagrafe,vrel; }
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Se incolli del codice racchiudilo tra i tag [code] [/code] così da preservare l'indentazione
Qual'è lo scopo di Statof? Cioè cosa dovrebbe fare?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
aggiunge anagrafe e familiari ai vettori e poi inserito nome e cognome deve stampare lo stato di famiglia come da traccia
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
A naso direi che ti carica l'eleco di cittadini (che hai chiamato Anagrafe ma va bene lo stesso) e l'elenco di famaliari. Per controllare base che tu faccia un ciclo di stampa del contenuto dei due Vector una volta terminato il caricamento.
Supponendo che li carichi allora lo stato di famiglia potresti risolverlo con una algoritmo del genere qui sotto accennato. Codice:
Dati gli insiemi listaAnagrafe (eana), listaFamiliari (erel) un nome ed un cognome:
1. Crea uno StringBuffer per conservare il testo dello stato di famiglia
2. Anagrafe anagrafe = null;
3. Per ogni Anagrafe A in listaAnagrafe
3.1 se A.getNome().equals(nome) e A.getCognome().equals(cognome)
3.1.1 anagrafe = A;
3.1.2 esci dal ciclo
4. Se anagrafe è diverso da null
4.1 Metti nello StringBuffer una cosa tipo nome e cognome del cittadino cercato
4.2 Per ogni Familiare F in listaFamiliari
4.3 se F.getCodiceFiscaleCapofamiglia().equals(anagrafe.getCodiceFiscale())
4.3.1 trova in listaAnagrafe il cittadino il cui codice fiscale è F.getCodiceFiscale
4.3.2 aggiungi al buffer la descrizione di questo cittadino
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 26-01-2007 alle 18:00. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2006
Messaggi: 355
|
si Ok l'algoritmo anche io l'avevo impostato più o meno cosi... il problema è che non risco a impostarlo sotto forma di codice
__________________
Ho concluso felicemente molte transizioni su altri forum e ben 60 feedback positivi su eBay--- Ho concluso felicemete con : royaleagle, SUPERALEX, bambà, bartmad, blade86. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:51.




















