Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 47

Discussione: Problema con hashmap

  1. #1

    Problema con hashmap

    Ciao a tuti, sono nuovo di questo forum e premetto ke di java nn è ke ci capisco tanto, in quanto fin'ora ho programmato solo in c.
    vi spiego brevemente il mio problema, devo creare un progetto che gestisca le prenotazioni delle agenzie di viaggi.
    Ogni oggetto istanza della classe Agenzia deve memorizzare le seguenti informazioni:
    1. nome della Agenzia di viaggi
    2. indirizzo
    3. telefono
    4. una struttura dati che permetta di memorizzare le prenotazioni, che possono essere
    soggiorni in Hotel o Appartamento.
    5. una struttura dati che permetta di registrare i dati anagrafici dei Clienti che effettuano
    le prenotazioni.

    La memorizzazione degli archivi di Prenotazioni e Clienti deve essere fatta usando le Mappe
    implementate a Tabella Hash.
    io fin'ora sono riuscito a scrivere solo questo:
    codice:
    public class Agenzia {
        String nome;
        String Indirizzo;
        long telefono;
        HashMap prenotazioni;
        HashMap registrazione_clienti;
    
        public Agenzia( String nome,String Indirizzo, long telefono){ //costruttore
            this.nome=nome;
            this.Indirizzo=Indirizzo;
            this.telefono=telefono;
            this.prenotazioni= new HashMap();
            this.registrazione_clienti= new HashMap();
        }
    però NetBeans mi dà un errore ovunque ho scritto HashMap e mi da "cannot find symbol".
    Ho provato a fare un giro nel forum e in internet e devo dire ke nn ho trovato tante documentazioni riguardo le HashMap, quindi vi chiedo un aiuto o qualche suggerimento.. grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Devi aggiungere all'inizio del tuo file, prima della dichiarazione di classe il seguente codice:
    codice:
    import java.util.HashMap;
    Nel caso avessi la dichiarazione del package devi seguire questa gerarchia nell'importare il package:
    codice:
    package statement;
    import statement;
    public class Test {}
    Devi sapere che quando usi Classi che non fanno parte del package java.lang devi sempre importarle utilizzando l'istruzione che ti ho mostrato sopra. Eventualmente se di un package usi molte classi puoi importarlo totalmente nel seguente modo:
    codice:
    import java.util.Scanner; //importa la classe Scanner
    import java.util.*; //importa tutto il package java.util tra cui la classe Scanner
    EDIT: Per la documentazione guarda qui ed in particolare qui per l'HashMap.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema con hashmap

    Originariamente inviato da crystal86
    però NetBeans mi dà un errore ovunque ho scritto HashMap e mi da "cannot find symbol".
    import java.util.*;

    E se usi Java 5 o superiore, è bene che usi i "generics".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Grazie per la documentazione.. Adesso però mi è sorto un nuovo problemino..
    io ho la seguente classe:
    codice:
    public class Agenzia {
        String nome;
        String Indirizzo;
        long telefono;
        HashMap prenotazioni;
        HashMap registrazione_clienti;
        ...
        //qui ci sono i costruttori
        ...
       //metodo per aggiungere un cliente nell'hashmap registrazione_cliente
        public void addCliente(Cliente c){  
             KEY=?????????;
            this.registrazione_clienti.put(KEY, c);
        }
    L’ identificativo di ogni Cliente deve essere un intero univoco autoincremento ma deve
    essere stampato concatenando le prime tre lettere del cognome, per il cliente “Rossi Mario”, il
    numero identificativo del cliente 25 deve essere stampato come: “ROS000025”

    Come posso fare a creare il campo KEY con le caratterisctiche sopra descritte??

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    72
    Prova così:
    codice:
    String nome="Rossi Mario";
    int id=25;
    DecimalFormat dm=new DecimalFormat("000000");
    String key=nome.substring(0, 3).toUpperCase()+dm.format(id);

  6. #6
    Originariamente inviato da fr84
    Prova così:
    codice:
    String nome="Rossi Mario";
    int id=25;
    DecimalFormat dm=new DecimalFormat("000000");
    String key=nome.substring(0, 3).toUpperCase()+dm.format(id);
    Grazie.. ma non mi trova la classe DecimalFormat.. Come Faccio??

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    72
    import java.text.DecimalFormat;

  8. #8
    Grazie 1000.. Un ultima cosa.. io ho il seguente codice:
    codice:
    public class Prenotazioni {
         public enum operatoreTuristico{
             Marco, Alberto, Stefano, Gianni;
        }
    
        public enum destinazione{
            Capri, Roma, Napoli, Milano, Amsterdam;
        }
        public enum type{
            Hotel, Appartamento;
        }
        int ID;
        private boolean prenotazione;
        type tipologia;
        private destinazione dest;
        ecc..
    
       //costruttore
        public Prenotazioni(type tipologia, destinazione dest, operatoreTuristico opTur){
            this.ID=id++;
            this.tipologia=tipologia;
            this.dest=dest;
            this.opTur=opTur;
            this.prenotato=false;
        }
    }
    Adesso in un altra classe provo a richiamare il costruttore per creare un istanza ma nn riesco a inviare i parametri che sono presenti nelle enum.. Come glieli passo, come Stringhe o con valueOf()..
    codice:
          Prenotazioni p= new Prenotazioni(???, ???, ???);
    se ad esempio volessi creare una prenotazione con
    Prenotazione p = new Prenotazioni (Hotel, Milano, Marco);
    come faccio?????

  9. #9
    Ho risolto..

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Bene... ma siamo passati da parlare di HashMap, a DecimalFormat a Key per poi affrontare un problema con un costruttore di una classe che conosci solo tu.

    Non è così che si usa un forum: se questa discussione si chiama "Problema con hashmap" qui si parla solo ed esclusivamente di problemi con HashMap. Nient'altro.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.