Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-02-2009, 17:58   #1
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
[JAVA] creazione elenco Regioni->Province

ciao a tutti, sto cercando di trovare una soluzione elegante ad un problema molto semplice, devo creare una specie di database contenente tutte le regioni d'italia e le relative province per ogni regione, che soluzione scegliereste?

potrebbe sembrare una domanda idiota ma voglio fare bella figura con il profe grazie
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2009, 17:00   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Re_Kotc Guarda i messaggi
ciao a tutti, sto cercando di trovare una soluzione elegante ad un problema molto semplice, devo creare una specie di database contenente tutte le regioni d'italia e le relative province per ogni regione, che soluzione scegliereste?
In che senso? Non si capisce molto... puoi entrare più nei dettagli?

A me viene in mente una cosa del genere:
class Regione, tra i membri di istanza avrà un Integer idRegione che serve a identificare univocamente una regione (il cui valore deve essere unico per ogni istanza della classe, da prendere dunque da un elenco comune a tutte le istanze di questa classe e di cui tenere traccia dei valori utilizzati in qualche modo...)

class Provincia, tra i membri di istanza avrà un Integer idProvincia che serve a identificare univocamente una proviancia (il cui valore deve essere unico per ogni istanza della classe, da prendere dunque da un elenco comune a tutte le istanze di questa classe e di cui tenere traccia dei valori utilizzati in qualche modo...)

una classe Mapper che contiene:
- HashMap<Integer, Regione> mapRegioni, con tutte le regioni, mappa un idRegione con la relativa istanza di Regione;
- HashMap<Integer, Provincia> mapProvince, con tutte le province, mappa un idProvincia con la relativa istanza di Provincia;

- HashMap<Integer, ArrayList<Integer>> mapper, che mappa un idRegione con un ArrayList di idProvince per realizzare la relazione "one to many" tra regioni e provincie.

- metodi vari che operano sulle strutture dati di cui sopra per effettuare interrogazioni, inserimenti e quant'altro.

Scritto al volo, è la prima cosa che mi è venuta in mente, e poi non ho la certezza di aver capito bene la tua richiesta...


P.S.: al posto di un ArrayList (una List) per associare gli idProvincia alla idRegione di appartenenza forse è meglio usare un Set...

P.P.S.: dubbione: ma non è che tu volevi solo sapere come impostare le relazioni tra le tabelle nel db, giusto?
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2009, 18:47   #3
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
si mi sono spiegato un pò frettolosamente..allora premetto che non sono espertissimo ..cmq l'obiettivo è avere degli oggetti Provincia contenenti i seguenti campi :

provincia Es Venezia, Padova, Verona
sigla Es VE,PD,VR
regione Es Veneto

io ho l'elenco con i dati e devo caricarlo (nel codice e non leggendolo da file ) istanziando questi oggetti, in modo che nel main io crei un oggetto "contenitore" (che ancora non riesco a focalizzare) che automaticamente istanzi tutti gli oggetti Provincia..spero sia un pò + chiaro..grazie a tutti
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0

Ultima modifica di Re_Kotc : 20-02-2009 alle 18:49. Motivo: errore mio :D
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 13:54   #4
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Re_Kotc Guarda i messaggi
si mi sono spiegato un pò frettolosamente..allora premetto che non sono espertissimo ..cmq l'obiettivo è avere degli oggetti Provincia contenenti i seguenti campi :

provincia Es Venezia, Padova, Verona
sigla Es VE,PD,VR
regione Es Veneto
Puoi ridurre la rappresentazione tabellare delle entità "provincia" e "regione" creandoti una classe che rappresenta la tabella: le righe vengono tradotte con la creazione di una specifica istanza mentre i campi associati alla riga in questione vengono tradotti come membri dell'istanza.

esempio:
Tabella Provincia
provinciaID[primary_key] | nome | sigla |
1 | Padova | PD |
2 | Milano | MI |
3 | Venezia| VE |

Tabella Regione
regioneID[primary_key] | nome |
1 | Veneto |
2 | Lombardia |


rappresento una riga della tabella "Provincia" con una classe, ad esempio:
Codice:
class Provincia
{
    // keep track of used ID's for all instances of this class
    public static int idCount = 1;
    
    // unique ID for this instance
    private Integer idProvincia;
    
    private String nome;
    private String sigla;
    
    public Provincia(String nome, String sigla)
   {
        // get the unique ID for this instance
        // increment the static counter for this class
        this.idProvincia = new Integer(idCount++);
        
        this.nome= nome;
        this.sigla= sigla;
   }

   // metodi vari di Provincia, bla bla...
}
Quote:
Originariamente inviato da Re_Kotc Guarda i messaggi
io ho l'elenco con i dati e devo caricarlo (nel codice e non leggendolo da file ) istanziando questi oggetti, in modo che nel main io crei un oggetto "contenitore" (che ancora non riesco a focalizzare) che automaticamente istanzi tutti gli oggetti Provincia..spero sia un pò + chiaro..grazie a tutti
Questo passaggio non mi è chiaro: se come sorgente dati non usi un database, e non usi nemmeno un file, dove si trovano i dati? Ovvero, inizialmente il programma da dove deve caricare l'elenco delle province e l'elenco delle regioni?
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 10:41   #5
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
intanto grazie della risp

Quote:
Questo passaggio non mi è chiaro: se come sorgente dati non usi un database, e non usi nemmeno un file, dove si trovano i dati? Ovvero, inizialmente il programma da dove deve caricare l'elenco delle province e l'elenco delle regioni?
anche se non è una soluzione pulitissima (ma devo fare così) l'elenco è nel codice stesso, cioè ricollegandomi a quello che hai scritto tu sulla classe provincia, io allora dovrei ad esempio istanziare nel main un array di oggetti Provincia[] e tramite un metodo setProvincia istanziare OGNI elemento della classe scrivendolo a mano nel codice...mi sembra anche l'unica soluzione visto che non posso accedere a fonti esterne (es un XML), però mi chiedevo se non posso evitarlo magari inserendo tutti i dati direttamente nella classe Provincia e quindi creando nel main solamente un oggetto new Provincia che contiene già tutto..è questo il mio problema thx
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 10:58   #6
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Bhe, ma intendi fare così?
Codice:
... in the context of the main class

public static ArrayList<Provincia> instantiateListProvincie()
{
    ArrayList<Provincia> list = new ArrayList<Provincia>();

    list.add(new Provincia("nome", "sigla"));
    list.add(new Provincia("nome2", "sigla2"));
    list.add(new Provincia("nome3", "sigla3"));
    ...
    list.add(new Provincia("nomeN", "siglaN"));

    return list;
}

public static ArrayList<Regione> instantiateListRegioni()
{
    ArrayList<Regione> list = new ArrayList<Regione>();

    list.add(new Regione(...));
    list.add(new Regione(...));
    list.add(new Regione(...));
    ...
    list.add(new Regione(...));

    return list;
}


// entry point
public static void main(String[] argv)
{
   ArrayList<Provincia> listProvince = instantiateListProvincie();
   ArrayList<Regione> listRegioni = instantiateListRegioni();
   ...
}
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 14:49   #7
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
eh purtroppo non vedo alternative se non posso caricare i dati dall'esterno...è l'unica soluzione no?
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 20:43   #8
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
ho provato ad aggiustare un pò la cosa (con le mie limitate competenze sorry )

nella classe Provincia ho:

public static Provincia[] instantiateElencoProvincie(){

Provincia elencoProvince[] = new Provincia[100];
elencoProvince[0].setProvincia("aosta","AO","Valle d'Aosta");



return elencoProvince;
}

e nel Main

Provincia elencoProv[] = Provincia.instantiateElencoProvincie();

però a quanto pare non funziona..se infatti provo a fare:

System.out.println(elencoProv[0].getProvincia());

mi restituisce l'eccezione NullPointerException...

ma perchè il puntatore è a Null? in teoria io ho istanziato l'array e l'ho passato a elencoProvince...o no?
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 21:13   #9
Re_Kotc
Senior Member
 
L'Avatar di Re_Kotc
 
Iscritto dal: Aug 2003
Città: verona
Messaggi: 541
funziona!...ho cambiato le cose in questo modo :

nella class Provincia

public static void instantiateElencoProvincie(Provincia elencoProvince[]){


elencoProvince[0].setProvincia("aosta","AO","Valle d'Aosta");



//return elencoProvince;
}

e nel main

Provincia elencoProv[] = new Provincia[100];
for(i=0;i<elencoProv.length;i++){
elencoProv[i] = new Provincia("empty","empty","empty");
}

Provincia.instantiateElencoProvincie(elencoProv);

infatti ora se accedo al primo elemento non ottengo errori ma il contenuto dell'oggetto
__________________
CASE: Cooler Master Stacker 831 Silver MOBO: Asus Maximus Formula CPU: Intel Q6600@2,4ghz RAM: 2x 1GB Corsair XMS2 pc2-8500@1066mhz + 2x2GB Corsair XMS2 pc2-8500@1066mhzVGA: ATI Sapphire RADEON 5830 1GB GDDR5 HD: 2 x WD Caviar SE16 500GB Raid 0
Re_Kotc è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
L'immagine del telescopio spaziale James...
Marte potrebbe aver subito diversi grand...
Mortal Kombat 2: il film con Karl Urban ...
Meta sta bannando migliaia di account e ...
Tesla China taglia già il prezzo ...
L'intelligenza artificiale sta riducendo...
Salesforce ha tagliato 4.000 posti nel s...
Xiaomi continua di slancio: ad agosto co...
La community batte gli sviluppatori: FSR...
Nuovi coupon nascosti di settembre: scon...
Luxeed S7 e R7, le nuove bombe di Huawei...
TSMC domina il mercato della produzione ...
Microsoft ammette: IIS Express potrebbe ...
Conclusa con successo la campagna di ESA...
WhatsApp Beta iOS: al lavoro sugli stati...
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: 22:07.


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