Flaschen auf Kästen verteilen

Lupo

Mitglied
Hallo,

ich habe eine Problem mit der Verteilung von Flaschen auf Kästen. Angenommen in einen Kasten passen bis zu 20 Flaschen. Wenn ich jetzt z.B. 41 oder auch 55 Flaschen eingebe, kommen immer 2 Kästen raus. Es müssten aber 3 Kästen sein.

Grüße
Lupo

Java:
int kaesten;

// Anzahl der Flaschen eingeben
 int flaschen = IOTools.readInteger("Anzahl von Flaschen: ");

// Berechnen der Anzahl der Kästen
kaesten = flaschen / 20;

//Ausgabe der Anzahl der Kästen
System.out.println("Sie haben "+kaesten+" Kästen bestellt.");
 

nomuri

Aktives Mitglied
Das liegt daran das Kaesten bei dir integer ist.. also ganzzahl. Du kriegst ab 60 Flaschen dann 3 Kästen raus, da du ja bei 41 Flaschen 2 kästen + 1 Flasche hast. Durch den Ganzzahligen Datentyp wird die eine Flasche abgeschnitten. Daher bekommst du zwischen 40 und 59 Flaschen immer 2 Kästen raus.
 

redJava99

Bekanntes Mitglied
Es kann auch Integer bleiben, wenn du den Divisionsrest mit einbeziehst:

Java:
int rest = flaschen % 20;
Ist dieser Rest ungleich 0, sind noch rest Flaschen übrig, und du brauchst einen weiteren Kasten.
 

Lupo

Mitglied
Erst einmal Danke für die Hilfe. Ja, die Variable sollte Integer bleiben. Hmm, an die "Hilfsvariabel" rest habe ich nicht gedacht. :eek: Sagt mal, wäre eine Lösung ohne int rest möglich, also nur mit den beiden Variablen int flaschen und int kaesten? Ich denke nicht ...
 

nomuri

Aktives Mitglied
Denk mal nach über das was ich geschrieben hab. Wie soll das gehen? Du teilst ja 41 durch 20 und bekommst 2 rest 1 raus. Durch den Integer schneidet er die 1 ab. Was bleibt? 2 Kästen.. das willst du ja nicht.. also musst du eine Restdivision machen. Mit modulo (%). Da bekommst du den Rest raus. Wenn Rest > 0 ist kannst halt auf kaesten +1 addieren oder so. Wie auch immer du das lösen willst.
 

Ähnliche Java Themen

Neue Themen


Oben