ich bin gerade dabei für eine Arbeit zu lernen und habe mal versucht ein kleines Programm zu schreiben, leider bekomme ich immer den Fehler:
versandkosten.java:14:12: error: bad operand types for binary operator '<'
ich habe schon alles probiert was mir eingefallen ist allerdings bekomme ich es nicht zum laufen
Code:
Java:
importjava.util.*;importjava.io.*;publicclass versandkosten
{publicstaticvoid main (String argv []){doubleZahl=200;doubleGewicht;ScannerWert=newScanner(System.in);System.out.println("geben sie einen wert ein");Gewicht=Wert.nextDouble();if(Wert<Zahl)System.out.println("es fallen keine versandkosten an");else{System.out.println("es fallen 5.50€ versandkosten an");}// end of if-else}}
Du vergleichst den Scanner mit Zahl, nicht Gewicht mit Zahl.
Bitte so schreiben:
Java:
System.out.println("Wie schwer ist das Gewicht?");String line =newScanner(System.in).nextLine();
line = line.replace(',','.');double gewicht =Double.parseDouble(line);System.out.println("Die Versandkosten betragen:");System.out.println(Math.round(0.0275* gewicht *100.0)/100.0+" Euro");
Code:
Wie schwer ist das Gewicht?
77
Die Versandkosten betragen:
2.12 Euro
Aber tatsächlich ist mir gestern die Funktion nicht eingefallen,
jedenfalls ist nur Kleinigkeit zu ändern:
Java:
publicstaticvoidmain(String[] args){System.out.println("Wie schwer ist das Gewicht?");String line =newScanner(System.in).nextLine();
line = line.replace(',','.');double gewicht =Double.parseDouble(line);System.out.println("Die Versandkosten betragen:");System.out.println(versandkosten(gewicht)+" Euro");for(int i =0; i <=210; i +=10){System.out.println("Für "+ i +" Versandkosten: "+versandkosten(i));}}staticdoubleversandkosten(double gewicht){returnMath.round(5.5*100.0/(1+Math.pow(0.91, gewicht -100)))/100.0;}
Code:
Wie schwer ist das Gewicht?
77
Die Versandkosten betragen:
0.56 Euro
Für 0 Versandkosten: 0.0
Für 10 Versandkosten: 0.0
Für 20 Versandkosten: 0.0
Für 30 Versandkosten: 0.01
Für 40 Versandkosten: 0.02
Für 50 Versandkosten: 0.05
Für 60 Versandkosten: 0.12
Für 70 Versandkosten: 0.31
Für 80 Versandkosten: 0.72
Für 90 Versandkosten: 1.54
Für 100 Versandkosten: 2.75
Für 110 Versandkosten: 3.96
Für 120 Versandkosten: 4.78
Für 130 Versandkosten: 5.19
Für 140 Versandkosten: 5.38
Für 150 Versandkosten: 5.45
Für 160 Versandkosten: 5.48
Für 170 Versandkosten: 5.49
Für 180 Versandkosten: 5.5
Für 190 Versandkosten: 5.5
Für 200 Versandkosten: 5.5
Für 210 Versandkosten: 5.5
Nehmen wir Gewichte von 0 bis 20 (Gramm?) : keine Versandkosten.
Gewichte von 180 bis 200 (und darüber) : 5,5 Euro Versandkosten.