calcolare prezzo medio

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Salve sto cercando di imparare a programmare ed ho scelto java come linguaggio di programmazione. Ho comprato un libro java (il linguaggio java Atlas), ora facendo gli esercizi non riesco a risolvere il seguente. Dati 5 distributore di benzina calcolare il prezzo medio, il prezzo max e il prezzo min. Ho provato ma riesco solo in parte (visualizzo il prezzo medio correttamente) ma no nn vedo il prezzo min e max vi posto il codice:


package benzinajava;

/**
*
* @author giusepp e
*/
import java.io.*;
public class Esso {
private String distributore;
private double prezzo;

public void leggiDati (int i)
{
InputStreamReader input= new InputStreamReader(System.in);
BufferedReader tastiera= new BufferedReader(input);
System.out.println("Inserisci in nome del distributore: ");
try
{
distributore=tastiera.readLine();
}
catch(Exception e)
{
System.out.println("Errore durante la digitazione!!!");
return;
}
System.out.println("Inserisci il prezzo: ");
try
{
String numeroLetto=tastiera.readLine();
prezzo=Double.valueOf(numeroLetto).intValue();
}
catch(Exception e)
{
System.out.println("Errore durante la digitazione!!!");
return;
}
}
public void stampaDati()
{
System.out.println("NOME DISTRIBUTORE ="+distributore);
System.out.println("PREZZO ="+prezzo);
System.out.println("Punteggio ="+costo());
}

public int costo()
{
int costo=0;
costo +=(int)(prezzo*1);
return costo;
}
}

Ed ora il metodo main
package benzinajava;

/**
*
* @author giuseppe
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int numero=5;
int maxbenzina=0;
int minbenzina=0;
float prezzoMedio=0;
Esso alto,basso;

Esso Agip[]= new Esso[numero];

for(int i=0; i<Agip.length;i++)
{
Agip=new Esso();
Agip.leggiDati(i);

}
basso=Agip[0];
alto=Agip[0];
for(int i=0;i<Agip.length;i++)
{
prezzoMedio+=Agip.costo();
if(Agip.costo()< basso.costo())
{
basso=Agip;
}
else if(Agip.costo()>alto.costo())
{
alto=Agip;
}
}
prezzoMedio=prezzoMedio/numero;
System.out.println("Il prezzo medio e':"+prezzoMedio);
System.out.println("\nIl prezzo + basso e':");
basso.costo();
System.out.println("\n Il prezzo + alto e':");
alto.costo();
}

}
Spero di non esser di disturbo e che mi possiate aiutare a diventare un buon programmatore ciao grazie mille
 
Ciao Antonio, non vedi il prezzo min e max perchè non lo stampi. Cioè devi inserire le funzioni basso.costo() e alto.costo() nel system.out.println altrimenti messi in quel modo sono inutili. Ti posto il codice:
Codice:
System.out.println("\nIl prezzo + basso e':"+ basso.costo());
System.out.println("\n Il prezzo + alto e':"+alto.costo());
 

Discussioni simili