Ciao a tutti, sono alle prime armi con java, e cercando di fare un magazzino che contiene prodotti, ricevo parecchi errori, non di scrittura ma di funzionamento
Uno che si nota subito è che, al momento della stampa, vengono stampati i valori di default; qui i codici:
PRODOTTO
package prodotto;
import java.util.*;
/**
*
* @author Francesco
*/
class Prodotto {
private Vector prodotti;
String descrizione; int codice; int quantita; int minimo; String unitamisura; float prezzo;
public Prodotto (String descrizione, int codice, int quantita, int minimo, String unitamisura, float prezzo)
{
this.descrizione=descrizione;
this.codice=codice;
this.quantita=quantita;
this.minimo=minimo;
this.unitamisura=unitamisura;
this.prezzo=prezzo;
prodotti = new Vector ();
}
public void push(Object obj)
{
prodotti.addElement(obj);
}
public Object pop()
{
Object obj = null;
int size = prodotti.size();
if (size>0)
{
obj=prodotti.elementAt(size-1);
prodotti.removeElementAt(size-1);
}
return obj;
}
public Object top()
{
Object obj=null;
int size = prodotti.size();
if (size>0)
{
obj=prodotti.elementAt(size-1);
}
return obj;
}
public int size ()
{
return prodotti.size();
}
public void Visualizza( )
{
System.out.println(" Descrizione " + descrizione );
System.out.println(" Quantita "+ quantita);
System.out.println(" Codice "+ codice ) ;
System.out.println(" quantitaminima "+minimo );
System.out.println(" Prezzo "+ prezzo );
System.out.println(" Unita di misura "+unitamisura) ;
}
}
MAGAZZINO (main)
package prodotto;
import java.io.*;
import java.util.*;
/**
*
* @author Francesco
*/
class Magazzino {
public static void main (String args []) throws IOException
{
InputStreamReader input = new InputStreamReader (System.in);
BufferedReader tastiera = new BufferedReader (input);
String descrizione=" ";
int codice=0;
int quantita=0;
int minimo=0;
String unitamisura=" ";
float prezzo=0;
int risposta=0;
Prodotto p= new Prodotto (descrizione,codice,quantita,minimo,unitamisura,prezzo);
//Inserimento descrizione e resto
while( true )
{
System.out.println( " \t Benvenuto nel programma della gestione del magazzino ");
System.out.println(" \t 1) Inserisci nuovo prodotto");
System.out.println(" \t 2) Visulizzare i dati del prodotto dato il codice ");
System.out.println(" \t 3) Visualizzare spesa preventiva ");
System.out.println(" \t 4) Visualizzare valore della merce complessiva in magazzino");
System.out.println(" \t 5) Visualziza intero magazzino ");
try
{
String NumeroLetto= tastiera.readLine();
risposta= Integer.valueOf(NumeroLetto).intValue();
}
catch(Exception e)
{
System.out.println(" Errore ");
}
switch(risposta)
{
case 1:
Prodotto c= new Prodotto (descrizione,codice,quantita,minimo,unitamisura,prezzo);
p.push(c);
System.out.println("Descrizione: ");
descrizione=tastiera.readLine();
System.out.println("Codice: ");
String numeroLetto = tastiera.readLine();
codice = Integer.valueOf(numeroLetto).intValue();
System.out.println("Quantita': ");
String b = tastiera.readLine();
quantita = Integer.valueOf(b).intValue();
System.out.println("Minimo: ");
String f = tastiera.readLine();
minimo = Integer.valueOf(f).intValue();
System.out.println("Unita' di misura: ");
unitamisura = tastiera.readLine();
System.out.println("Prezzo: ");
String d = tastiera.readLine();
prezzo = Float.valueOf(d).floatValue();
break;
case 2:
System.out.println("Inserisci codice da ricercare: ");
String j = tastiera.readLine();
int size= p.size();
for (int i=0;i<size; i++)
{
if (j.equals(p.codice))
{
p.Visualizza();
}
else
System.out.println("Codice non trovato ");
}
break;
case 3:
System.out.println("Spesa per rifornire: ");
int size1= p.size();
float spesa=0;
for (int i1=0;i1<size1;i1++)
{
if(p.quantita<p.minimo)
spesa=spesa+prezzo;
else
System.out.println("Magazzino già rifornito");
}
break;
case 4:
System.out.println("Valore totale ");
int size2=p.size();
float valoreTot=0;
for (int iVal=0;iVal<size2;iVal++)
{
valoreTot=valoreTot+p.prezzo;
}
break;
case 5: p.Visualizza();
}
}
}
}