Ragazzi vi pongo un nuovo quesito a partire da questa traccia:
Un magazzino è costituito da un insieme di diversi tipi di merci e per ogni merce da un certo
numero di articoli.
Si implementi una classe Magazzino che realizza un insieme ordinato di merci che ha i seguenti
costruttori e metodi:
· public Magazzino(int numeroDiMerci) che definisce un insieme costituito da un numero di
merci pari a numeroDiMerci. Il costruttore deve impostare a zero il numero di articoli di ciascun
tipo di merce (Help: a tale scopo si utilizzi una struttura dati di tipo array per simulare il
magazzino);
· public void ordine(int tipoMerceOrdinata, int numeroDiMerciOrdinate) che sottrae dal
tipoMerceOrdinata il numeroDiMerciOrdinate.
· public void fornitura(int tipoMerceFornita, int numeroDiMerciFornite) che aggiunge al
tipoMerceFornita il numeroDiMerciFornite.
Si simuli il funzionamento del magazzino all’interno della classe main per due diversi ordini (ad es.
merce 3 e 5 per 100 e 200 pezzi) e una fornitura (ad es. merce 6 per 10 pezzi). Si stampino i valori
finali di merci nel magazzino.
N.B.: Si scriva la classe Magazzino e la classe Main in due files differenti. Stampare un valore
finale significa aggiungere un ulteriore metodo alla classe Magazzino.
Mentre questo è il codice:
Main:
codice:public class JavaApplication27 { /** * @param args the command line arguments */ public static void main(String[] args) { // Fase di input Scanner sc= new Scanner (System.in); System.out.println("Inserisci il numero di merci"); int numerodimerci=sc.nextInt(); int ord[]=new int[numerodimerci]; int forn[]=new int[numerodimerci]; int somma[]=new int[numerodimerci]; for (int i=0;i<numerodimerci;i++){ System.out.println("Inserisci il valore delle forniture per tipo"); forn[i]=sc.nextInt();} for (int i=0;i<numerodimerci;i++){ System.out.println("Inserisci il valore degli ordini per tipo"); ord[i]=sc.nextInt();} for (int i=0;i<numerodimerci;i++){somma[i]=forn[i]+ord[i];} Magazzino mag=new Magazzino(numerodimerci,forn[numerodimerci]); //Fase di output } }
Magazzino
codice:public class Magazzino {private int numerodimerci;int numeroarticoli; int[] mag;int forn[];int ord[]; public Magazzino (int numerodimerci,int numeroarticoli){ this.numeroarticoli=numeroarticoli; this.numerodimerci=numerodimerci; mag= new int[this.numerodimerci]; forn=new int[this.numerodimerci]; ord=new int[this.numerodimerci]; for(int i=0;i<numerodimerci;i++){ mag[i]=0;} } public void Fornitura (int tipodimercefornita,int numerodimercefornita){tipodimercefornita=numerodimerci; for (int i=0;i<numerodimerci;i++){forn [i]=forn[i]+mag[i];} } public void Ordine (int tipodimerceordinata,int numerodimerceordinata){tipodimerceordinata=numerodimerci; for (int i=0;i<numerodimerci;i++){if (ord[i]<mag[i]){ord[i]=mag[i]-ord[i];} else {System.out.println("Non ci sono sufficienti scorte in magazzino");} } } public void Visualizza (double somma[]){for (int i=0;i<numerodimerci;i++){somma [i]=forn[i]+ord[i]; System.out.println("Il valore restante nel magazzino è"+somma[i]);} } }
P.S.Non so se ci sono errori poichè mi manca l'output del main... Grazie mille in anticipo![]()