Konvertierungsfehler!!

Mind_Freak

Grünschnabel
Guten Abend,

ich habe folgendes Problem, und zwar hab ich von meinem Lehrer eine Aufgabe bekommen, die wie folgt aussieht:

"Es ist ein Konsolen-Programm zu entwickeln, welches nach Eingabe des Grundpreises und der Stückzahl den Gesamtpreis, sowie den Rabattsatz (in Prozent)
ermittelt und im Konsolenfenster ausgibt!

-Stückzahl < 100 --> kein Rabatt
-Stückzahl >= 100 --> 5 %Rabattsatz
-bei fehlerhaften Eingaben --> Ausgabe: "Fehler in der Eingabe"! "

Das ganze an sich ist nicht schwierig, ich hab es auch schon fertig und läuft auch einwandfrei.
Code:
public class Kasse {

  public static void main(String[] args) {

   float einzelpreis, gesamtpreis, gesamtpreis2, kasse1, stueckzahl;

   
   if(args.length == 2){
     try{
      einzelpreis = Float.parseFloat(args[0]);
      stueckzahl = Float.parseFloat(args[1]);
      
      gesamtpreis = einzelpreis * stueckzahl;
      gesamtpreis2 = gesamtpreis * 5 / 100;
      kasse1 = gesamtpreis - gesamtpreis2;
      
      if(stueckzahl < 100){
       System.out.println("Rabatt = 0 %");
       System.out.println("Kasse = "+ gesamtpreis +" Euro");
      }
      else if(stueckzahl >= 100){
       System.out.println("Rabatt = 5 %");
       System.out.println("Kasse = "+ kasse1 +" Euro");
      }
     }
     catch(Exception f){
      System.out.println("Fehler in der Eingabe!");
     }
   }
   else{
    System.out.println("Fehler in der Eingabe!");
   }
  }
}

Ich hab mir aber überlegt, dass man "stueckzahl" nicht als Float deklarieren kann, denn man kann ja auch nicht ein halbes auto kaufen.
Da hab ich float stueckzahl in int stueckzahl umgeschrieben, da kam sofort eine Fehlermeldung:
"possible loss of percision" .

Kann mir jemand weiterhelfen?

Ich bedanke mich im Voraus!
 
Wo genau kriegst du denn die Meldung?
Normalerweise sollte es möglich sein dass du stueckzahl als int deklarierst. Dann musst du natürlich auch statt Float.parseFloat Integer.parseInt schreiben.
mfg flo
 
Zurück