Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Variabile globale gestibile da classi diverse e non collegate se non dallo stesso package

    Salve a tutti sto creando un programma che possa gestire un ristorante.
    Quindi ho un tipo 'Ristorante' che gestisce diversi ordini
    Quindi ho un tipo 'Ordine' che è l'insieme di tutti i prodotti inseriti in un ordine.
    Quindi ho un tipo 'Prodotto' che come dato ha 'codiceIdUnivoco' descrizione e costo.

    Ciò che m'interessa sapere e ciò che vi chiedo è se c'è la possibilità di avere un ArrayList gestibile da tutti i file ed editabile da tutti i file, ma solo all'interno dello stesso package.

    Devo creare per ogni prodotto un codiceIdUnivoco e avevo anche pensato a creare un metodo generaId ma se lo mettessi in Ordine avrebbe validità solo per quell'ordine e se lo mettessi in Ristorande non sarebbe fattibile perché aggiungo tanti prodotti ad un ordine e non posso fare un iterazione per volta...


    Ho sentito parlare di variabili globali ma a lezione non l'abbiamo fatte.
    Come potrei risolvere?
    Esiste qualcosa di più utile e diverso dalla mia idea?
    Grazie in anticipo a chiunque risponderà e scusate se la mia domanda risulta essere banale.
    Confido in voi e nella Forza
    asd il corrispondente italiano di lol (lot of laught) non ha un significato è usato nei giochi di ruolo online perche la destra è impegnata nel movimento del personaggio

  2. #2
    Aggiungo una possibile soluzione alla quale ho pensato solo ora... ditemi cosa ne pensate...
    Anche se il problema di fondo rimane comunque... dove lo creo? come posso collegare un oggetto GeneraId a tutti i nuovi oggetti? Dovrei crearlo nel main... però lo utilizzo nella classe prodotto...

    codice:
    package esercizio2;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    
    public class GeneraId {
        private List<Integer> idCreati = new ArrayList <Integer>();
        private Random random = new Random();
        private Integer id;
        
        public GeneraId () {
            
        }
        public int generaId () {
            do
                id = random.nextInt();
            while(idCreati.contains(id));
            return id;
        }
    }
    Ultima modifica di NoNameoN; 11-04-2020 a 23:02
    asd il corrispondente italiano di lol (lot of laught) non ha un significato è usato nei giochi di ruolo online perche la destra è impegnata nel movimento del personaggio

Tag per questa discussione

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.