Ciao a tutti. sono alle prese con un nuovo problema che può essere espresso cosi: L’oggetto Magazzino è caratterizzato come denominazione dall’indicazione della sua ubicazione (Brescia, Como, ...); da una capienza massima e da una capienza minima definite dal collaudatore dell’impianto per il corretto funzionamento. Sul magazzino è possibile fare delle operazioni di carico e scarico che devono rispettare i vincoli strutturali. Non è possibile fare carichi e scarichi parziali. (Es. CapMax=100, CapCor=80 se cerco di caricare 50 non carico solo i 20 che rispettano il vincolo ma scarto completamente l’operazione di carico)….Si vuole realizzare un applicativo gestioneMagazzino che permette la gestione dei magazzini ubicati in due province. Tramite struttura a menu si deve permettere:
1) Inizializzazione magazzini
2) Visualizzazione dati tecnici di entrambi i magazzini
3) Determinazione del magazzino con CapMax maggiore
4) Carico merce (dato il magazzino che si desidera e controllando il buon esito dell’operazione)
5) Scarico merce (dato il magazzino che si desidera e controllando il buon esito dell’operazione)
Ho cominciato con la creazione di due classi (Magazzino e gestioneMagazzino) e adesso sono al punto due (case 2 del menu, perchè il primo funziona) e non so come richiamare i dati che mi interessano, perchè mi da errori del tipo method non-static richiamato da static....qualche suggerimento su come risolvere il problema?
grazie!!!
codice:
import unibs.eco.dmq.basicIO.*;
public class gestioneMagazzino {
 public static void main(String[] args) {
         int opzione; 
         do{
         	Scrittore.video.println("---------------------");
         	Scrittore.video.println("1* Inizializzazione magazzini");
         	Scrittore.video.println("2* Dati tecnici dei magazzini");
         	Scrittore.video.println("3* Magazzino con CapMax maggiore");
         	Scrittore.video.println("4* Carico merce");
         	Scrittore.video.println("5* Scarico merce");
         	Scrittore.video.println("0* USCITA");
         	Scrittore.video.println("---------------------");
         	opzione=Lettore.tastiera.leggiInt();    
           	switch(opzione){
          		case 1:;
          		Magazzino m1 = new Magazzino("Como",90,10,5); 
          		Magazzino m2 = new Magazzino("Brescia",100,5,20);
          		Scrittore.video.println("I magazzini creati si chiamano");
          		Scrittore.video.println(m1.nome +" e "+ m2.nome);
          		Scrittore.video.println("\n dati tecnici: \n capienza minima e massima del negozio di " +m1.getNome()+" e' "+m1.getcapienzaMin()+ " e "+m1.getcapienzaMax() +" \n capienza minima e massima del negozio di " +m2.getNome()+" e' "+m2.getcapienzaMin()+ " e "+m2.getcapienzaMax());		
           		break;
       		case 2:
       							
          		break;	
		case 3: 
				
          		break;
	  }   		
          }while(opzione!=0);
        }
     }
e il Magazzino
codice:
import unibs.eco.dmq.basicIO.*;  
class Magazzino{
    public String nome;
    public int capienzaMax; 
    public int capienzaMin;
    public int quantitaCorrente;     
    public Magazzino(String nome, int capienzaMax, int capienzaMin,int quantita){
    	this.nome=nome;
    	this.capienzaMax=capienzaMax;
    	this.capienzaMin=capienzaMin;
    	this.quantitaCorrente=quantitaCorrente;
    }    

  public int getcapienzaMax(){ 
  	return capienzaMax;
  }
  public int getcapienzaMin(){ 
  	return capienzaMin;
  }  
  public int getquantitaCorrente() {
   	return quantitaCorrente;
  }
  public void aumentaquantitaCorrente( int q ) {
    quantitaCorrente = quantitaCorrente + q;
  }
  public void diminuisciquantitaCorrente( int q ) {
    quantitaCorrente = quantitaCorrente - q;
  }
  public String getNome() { 
  	return nome;
  }
}