Hallo,
ich bin zu Zeit in einem Java Einsteigerkurs angemeldet. Und wie sagt man so schön: "Programmieren lernt man durch Programmieren" und so habe ich mich mal ran gemacht und habe ein kleinen Kaffeeautomaten geschrieben, welcher auf der Konsole läuft. Nun habe ich jedoch ein Problem, denn wenn ich meinen Code ausführe und Programm 1 wähle und dann eine Zahl kleiner als 75 eingebe beginnt eine while-Schleife in der ein Scanner ist. Doch egal wie viele Zahlen ich da noch eingebe, er geht einfach nicht mehr aus dem Scanner und aus der while-Schleife raus. Nun habe ich mal meinen Code gekürzt und angepasst, damit ihr ihn euch direkt anschauen könnt, denn ich weiß nun wirklich nicht mehr weiter nach insgesamt nun 9 Stunden Java lernen.
Wäre echt nett, wenn jemand mal über den Code schauen könnte und mir sagen kann, warum er aus der Schleife nichtmehr raus geht.
Gruß,
jopeter58
ich bin zu Zeit in einem Java Einsteigerkurs angemeldet. Und wie sagt man so schön: "Programmieren lernt man durch Programmieren" und so habe ich mich mal ran gemacht und habe ein kleinen Kaffeeautomaten geschrieben, welcher auf der Konsole läuft. Nun habe ich jedoch ein Problem, denn wenn ich meinen Code ausführe und Programm 1 wähle und dann eine Zahl kleiner als 75 eingebe beginnt eine while-Schleife in der ein Scanner ist. Doch egal wie viele Zahlen ich da noch eingebe, er geht einfach nicht mehr aus dem Scanner und aus der while-Schleife raus. Nun habe ich mal meinen Code gekürzt und angepasst, damit ihr ihn euch direkt anschauen könnt, denn ich weiß nun wirklich nicht mehr weiter nach insgesamt nun 9 Stunden Java lernen.
Java:
import java.util.Scanner;
public class ProgrammAusführen
{
public static void main(String[] args)
{
//Variablen definieren
byte programm=0;
short guthaben = 0;
short restgeld = 0;
short einwurf = 0;
final short KAFFEEPREIS1 = 75;
//final short KAFFEEPREIS2 = 90;
//final short KAFFEEPREIS3 = 120;
//Programmwahl
Scanner scan = new Scanner(System.in);
System.out.println("Bitte wählen sie ihr Programm: ");
programm = scan.nextByte();
System.out.println("Sie haben das Programm " + programm + " gewählt.");
//Überprüfung, welches Programm gewählt wurde
switch(programm)
{
//Kaffee 1
case 1: programm = 1;
{
System.out.println("Bitte bezahlen sie: " + KAFFEEPREIS1 + "ct.");
guthaben = scan.nextShort();
System.out.println("Ihr Guthaben beträgt " + guthaben + "ct.");
//Es wurde zu wenig bezahlt
while(guthaben < KAFFEEPREIS1);
{
System.out.println("Bitte werfen sie mehr geld ein." );
einwurf = scan.nextShort();
guthaben = (short) (guthaben + einwurf);
einwurf = 0;
}
//Es wurde der Kaffee bezahlt
if (guthaben == KAFFEEPREIS1)
{
System.out.println("Vielen Dank, ihr Kaffee wird nun zubereitet." );
}
//Es wurde alles bezahlt
if (guthaben > KAFFEEPREIS1)
{
System.out.println("Vielen Dank, ihr Kaffee wird nun zubereitet.");
System.out.println("Nach den Zubereitungsvorgang erhalten sie ihr Restgeld.");
restgeld = (short) (guthaben - KAFFEEPREIS1);
System.out.println("Sie erhalten nun " + restgeld + "ct zurück.");
}
break;
}
}
scan.close();
}
}
Gruß,
jopeter58
Zuletzt bearbeitet: