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