So, ich dachte, so gegen Ende des Studiums lerne ich doch noch mal ein bisschen programmieren
Geht auch - mit diesem Tutorial - ganz gut.
Jetzt dachte ich mir, ich schreibe ein Kassenprogramm, das, solange man nicht zur Abrechnung will, immer neue Posten anlegt, nach dem Steuersatz fragt und das nachher addiert.
So sieht das aus:
PHP-Code:
import java.util.*;
class Entscheidungen {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
int a=0,b=0,aufrechnung=0,steuer,brutto;
String antwort,ans;
final int STEUERA=7, STEUERB=19;
System.out.println("Willkommen an der Kasse");
while (aufrechnung==0)
{aufrechnung=1;
System.out.println("Ware mit ermäßigtem Steuersatz (J/N)?");
antwort= scan.nextLine();
if (antwort.equals("J"))
{
System.out.println("Wert der Ware in Cent?");
a=a+ scan.nextInt();
}
else
{
if (antwort.equals("N"))
{
System.out.println("Wert der Ware in Cent?");
b=b+ scan.nextInt();
}
else System.out.println("Unzulässige Antwort");
}
System.out.println("Zur Abrechnung (J/N)? ");
ans= scan.nextLine();
if (ans.equals("N"))
{
aufrechnung=0;
}
else
{
System.out.println("Abrechnung:");
}
}
steuer=a*STEUERA + b*STEUERB;
brutto=100*a+100*b+steuer;
System.out.println("Die Gesamtsumme beträgt: "+ brutto/10000.0 + "€");
System.out.println("Davon sind "+ steuer/10000.0 +"€ Steuern");
}
}
Leider macht er nicht das, was ich will - wie solls auch anders sein Es wird keine Eingabe an dieser Stelle
Code:
System.out.println("Zur Abrechnung (J/N)? ");
ans= scan.nextLine();
if (ans.equals("N"))
{
aufrechnung=0;
}
else
{
System.out.println("Abrechnung:");
}
abgewartet.
Im oberen Teil (wo nach dem Steuersatz gefragt wird), wird aber sehr wohl eine Eingabe abgewartet.
Kann das jemand nachvollziehen und mir sagen, was mein Fehler ist? Muss ich ein weiteres Scannerobjekt definieren? Das kann ich mir eigentlich nicht vorstellen, da ich mein Scannerobjekt ja für alle Eingaben benutze, und das funktioniert ...
Danke