• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Java Rabatt berechnen

  • Themenstarter Gelöschtes Mitglied 65664
  • Beginndatum
G

Gelöschtes Mitglied 65664

Gast
Hallo zusammen,
Ich bin gerade dabei, Java so zu programmieren, dass es Rabatt berechnet. Jedoch wird mein "-" nicht erkannt und so auch nicht der Endbetrag angezeigt. (Z. 12)
Was mache ich falsch?

Java:
import java.util.Scanner;
  public class Rabatt {
      public static void main(String[] args) {
        System.out.print("Geben Sie den Gesamtbetrag ein");
        Scanner eingabe = new Scanner(System.in);
        int Betrag = eingabe.nextInt();
      
         if(Betrag > 100){
            System.out.println(" Rabatt " + (int)(Betrag * 0.05));
             }
        else{
        System.out.println(" Zahlen Sie "+ Betrag -(Betrag * 0.05));
        }

             if(Betrag > 500){
            System.out.println(" Rabatt " + (int)(Betrag * 0.1));
          
             }
        else{
             System.out.println(" Zahlen Sie "+ Betrag);
        }
        }
        }
 
H

httpdigest

Top Contributor
Das liegt daran, dass in Java sowohl der '+' als auch der '-' Operator linksassoziativ sind. Der Java Parser denkt also, dass du String - double rechnen willst, was nicht geht. Du musst einfach die Rechnung klammern:
Java:
import java.util.Scanner;
  public class Rabatt {
      public static void main(String[] args) {
        System.out.print("Geben Sie den Gesamtbetrag ein");
        Scanner eingabe =                                                                   new Scanner(
System.in)



;
        int
   Betrag = eingabe.nextInt();
    
         if
(Betrag > 100)  
       
       
         {
         
           
            System.out.println(" Rabatt " + (int)(Betrag * 0.05));
             }
                                          else{
        
        
  System.out.println(" Zahlen Sie "+ (Betrag -(Betrag * 0.05)));
}

                      if(Betrag
   > 500)

{
            System.out.println(" Rabatt " + (int)(Betrag * 0.1));
        
             }
        else{
             System.out.println(" Zahlen Sie "+ Betrag);
        }
           }
               }
(Leute... nutzt doch bitte einfach immer eine Java IDE (Integrated Development Environment - integrierte Entwicklungsumgebung) und den darin enthaltenen Source Code Formatter, bevor ihr euren Sourcecode hier postet)
 
D

dress19

Mitglied
Alternativ geht auch: https://codebeautify.org/

Java:
import java.util.Scanner;
public class Rabatt {
  public static void main(String[] args) {
    System.out.print("Geben Sie den Gesamtbetrag ein");
    Scanner eingabe = new Scanner(System. in );
    int Betrag = eingabe.nextInt();

    if (Betrag > 100) {
      System.out.println(" Rabatt " + (int)(Betrag * 0.05));
    }
    else {
      System.out.println(" Zahlen Sie " + Betrag - (Betrag * 0.05));
    }

    if (Betrag > 500) {
      System.out.println(" Rabatt " + (int)(Betrag * 0.1));

    }
    else {
      System.out.println(" Zahlen Sie " + Betrag);
    }
  }
}
 
G

Gelöschtes Mitglied 65664

Gast
Das liegt daran, dass in Java sowohl der '+' als auch der '-' Operator linksassoziativ sind. Der Java Parser denkt also, dass du String - double rechnen willst, was nicht geht. Du musst einfach die Rechnung klammern:
Java:
import java.util.Scanner;
  public class Rabatt {
      public static void main(String[] args) {
        System.out.print("Geben Sie den Gesamtbetrag ein");
        Scanner eingabe =                                                                   new Scanner(
System.in)



;
        int
   Betrag = eingabe.nextInt();
   
         if
(Betrag > 100) 
      
      
         {
        
          
            System.out.println(" Rabatt " + (int)(Betrag * 0.05));
             }
                                          else{
       
       
  System.out.println(" Zahlen Sie "+ (Betrag -(Betrag * 0.05)));
}

                      if(Betrag
   > 500)

{
            System.out.println(" Rabatt " + (int)(Betrag * 0.1));
       
             }
        else{
             System.out.println(" Zahlen Sie "+ Betrag);
        }
           }
               }
(Leute... nutzt doch bitte einfach immer eine Java IDE (Integrated Development Environment - integrierte Entwicklungsumgebung) und den darin enthaltenen Source Code Formatter, bevor ihr euren Sourcecode hier postet)
Dankeschön!
Der Fehler ist zwar weg, aber das, was ich eigentlich erreichen möchte, klappt nicht.
Ich probiere es z.B. mit 120. Das wäre ein Rabatt (5%) von 6 und das Endergebnis 114, aber trotzdem steht dort "Zahlen Sie 120"... Anscheinend rechnet Java es nicht.
 
D

dress19

Mitglied
Kannst du bitte nochmal genau beschreiben, was du vor hast, gerne auch mit Beispielen?
 
G

Gelöschtes Mitglied 65664

Gast
Kannst du bitte nochmal genau beschreiben, was du vor hast, gerne auch mit Beispielen?
Klar, gerne :)

Als erstes soll das Programm fragen, wie viel gezahlt werden muss. Dann gibt man z.B. ein 120(€). Von diesem Preis sollen 5% abgezogen werden. Das wären dann in dem Fall -6(€) als Rabatt. Dies soll auch angezeigt werden. Zum Schluss soll dann noch der wirkliche Betrag ausgerechnet werden. Also 114(€), die am Ende mit Rabatt gezahlt werden müssen.



Ab 500(€) gibt es 10%

Ab 100(€) gibt es 5%



Ich hoffe es ist verständlich geworden.
 
D

dress19

Mitglied
Ich hoffe es ist verständlich geworden.
Ja ist es ;)

Java:
import java.util.Scanner;

public class Rabatt {
    public static void main(String[] args) {
        System.out.println("Geben Sie den Gesamtbetrag ein:");
        Scanner eingabe = new Scanner(System.in);
        int betrag = eingabe.nextInt();
        int betragNachRabatt = betrag;

        if (betrag < 100) {
            System.out.println("Es gibt leider keinen Rabatt.");
        } else if (betrag < 500) {
            betragNachRabatt *= 0.95; // verwende ggfs. Math.round ...
            System.out.println("Es gibt einen 5% Rabatt von " + (betrag - betragNachRabatt) + ".");
        } else {
            betragNachRabatt *= 0.90; // verwende ggfs. Math.round ...
            System.out.println("Es gibt einen 10% Rabatt von " + (betrag - betragNachRabatt) + ".");
        }

        System.out.println("Gesamtbetrag nach Rabatt: " + betragNachRabatt);
    }
}
 
G

Gelöschtes Mitglied 65664

Gast
Ja ist es ;)

Java:
import java.util.Scanner;

public class Rabatt {
    public static void main(String[] args) {
        System.out.println("Geben Sie den Gesamtbetrag ein:");
        Scanner eingabe = new Scanner(System.in);
        int betrag = eingabe.nextInt();
        int betragNachRabatt = betrag;

        if (betrag < 100) {
            System.out.println("Es gibt leider keinen Rabatt.");
        } else if (betrag < 500) {
            betragNachRabatt *= 0.95; // verwende ggfs. Math.round ...
            System.out.println("Es gibt einen 5% Rabatt von " + (betrag - betragNachRabatt) + ".");
        } else {
            betragNachRabatt *= 0.90; // verwende ggfs. Math.round ...
            System.out.println("Es gibt einen 10% Rabatt von " + (betrag - betragNachRabatt) + ".");
        }

        System.out.println("Gesamtbetrag nach Rabatt: " + betragNachRabatt);
    }
}
Es klappt!! Vielen vielen Dank :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Schleifen in Java Java Basics - Anfänger-Themen 4
Alan6 Java Editor BMI Rechner Java Basics - Anfänger-Themen 7
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
P myClass?.method() in Java Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
NicoDeluxe Java RAM Management Java Basics - Anfänger-Themen 26
N Groß- und Kleinschreibung bei Java: void Methode Java Basics - Anfänger-Themen 1
T SelectionSort Java Java Basics - Anfänger-Themen 1
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
T Java Fx Java Basics - Anfänger-Themen 4
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
MPFeuer JAVA Expert-PDF Java Basics - Anfänger-Themen 1
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
J Java Queue mit default Werten erstellen Java Basics - Anfänger-Themen 4
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
S Allgemeine Java Codes lesen und verstehen Java Basics - Anfänger-Themen 7
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
TimoN11 Java spezielle Suchprobleme - Aufgabe Java Basics - Anfänger-Themen 5
I Java-Wort einlesen und ausgeben Java Basics - Anfänger-Themen 7
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 17
Abraham42 Sparguthaben JAVA Java Basics - Anfänger-Themen 4
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
H Audio in Java Java Basics - Anfänger-Themen 3
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
bafou Dreieckszahlen in java Java Basics - Anfänger-Themen 3
P Best Practice Druck aus Java Anwendung in MacOs Java Basics - Anfänger-Themen 0
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
B java.time Duration mit Kommazahl? Java Basics - Anfänger-Themen 4
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 1
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Sprung mit Java (GameGrid) Java Basics - Anfänger-Themen 9
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
T Klassendiagramm in Java überführen Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
P Mit iPad Java lernen Java Basics - Anfänger-Themen 15
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
J Java FX - Label aktualisieren Java Basics - Anfänger-Themen 1
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
G Java Bruchrechner Addition, Multiplikation... Java Basics - Anfänger-Themen 12
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
C Suche Nachhilfe in Java Java Basics - Anfänger-Themen 5
B java.io.OutputStream zu java.io.InputStream konvertieren Java Basics - Anfänger-Themen 18
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
M Java entity und wertklassen Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
M Java Klasse Object Java Basics - Anfänger-Themen 5
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
G Java Lambda Ausdrücke Java Basics - Anfänger-Themen 19
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3
M Java Anweisungen Java Basics - Anfänger-Themen 4
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
S Java Array Probleme Java Basics - Anfänger-Themen 3
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
S Java Stream API Java Basics - Anfänger-Themen 6
S Java Array Problem... Java Basics - Anfänger-Themen 2
M Java Listen Java Basics - Anfänger-Themen 4
G Java Object value und entity? Java Basics - Anfänger-Themen 2
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
G Java Dateisystem Java Basics - Anfänger-Themen 4
G Java charAt Methode Java Basics - Anfänger-Themen 10
L Java lernen Java Basics - Anfänger-Themen 1
G Rot-Schwarz-Bäume Java Java Basics - Anfänger-Themen 10
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
G Java LinkedList Java Basics - Anfänger-Themen 6
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
Y Java andere Klasse aufrufen Java Basics - Anfänger-Themen 6
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
Z vereinfachtes Wörterbuch in java modellieren Java Basics - Anfänger-Themen 10
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56

Ähnliche Java Themen

Anzeige

Neue Themen


Oben