Detta programmet läser in vikt och längd för 5 grisar, och kontrollerar om de är överviktiga eller inte, räknar sedan medalvikt på normalviktiga, överviktiga, samt alla grisar, men värdena stämmer inte.. vad har blitt knas?
import extra.*;
public class Vikt {
// Instansvariabler
private double vikt;
private double längd;
private boolean normal;
// Konstruktor
public Vikt(double v, double l) {
vikt = v;
längd = l;
normal = kontroll();
}
// En vikt är onormal om grisen väger över
// 50 kilo och är kortare än 100 cm
private boolean kontroll() {
if (vikt > 50 && längd < 100)
return false;
else
return true;
}
public double avläsVikt() {
return vikt;
}
public boolean avläsNormal() {
return normal;
}
/* #### MAIN DELEN #### */
public static void main (String[] arg) {
double v,l;
Vikt g;
double summa_normal = 0, summa_onormal = 0, summa_alla = 0;
double medel_normal, medel_onormal, medel_alla;
int alla, alla_normala = 0, alla_onormala = 0;
// Läs in vikt och längd på 5 grisar
// och beräkna medelvikten av alla "normala"
// grisar, medelvikten av alla "onormala"
// grisar och alla medelvikten av alla grisar
for (alla = 1; alla <= 5; alla++) {
Std.out.print("Ange vikt: ");
v = Std.in.readDouble();
Std.out.print("Ange längd: ");
l = Std.in.readDouble();
g = new Vikt(v,l);
if (g.avläsNormal()) {
summa_normal = summa_normal + g.avläsVikt();
alla_normala++;
}
else {
summa_onormal = summa_onormal + g.avläsVikt();
alla_onormala++;
}
summa_alla = summa_alla + g.avläsVikt();
}
// Beräkna medelvärdena
medel_normal = summa_normal/alla_normala;
medel_onormal = summa_onormal/alla_onormala;
medel_alla = summa_alla/alla;
Std.out.println("Medelvikten för alla normala grisar är: " + medel_normal);
Std.out.println("Medelvikten för alla onormala grisar är: " + medel_onormal);
Std.out.println("Medelvikten för alla grisar är: " + medel_alla);
}
}