Methode in if-Anweisung einbauen

RowdyN

Mitglied
Hallo an Alle,
wir machen aktuell die if-Anweisung und bei der 4. Aufgabe komme ich nicht so recht weiter.

Es soll wie häufig der Zoll errechnet werden. Als Angaben gibt es:
Bier hat meist einen Alkoholgehalt 4,5%
<0.3L Kein Zoll
<2L 0.5€/Pro Liter
<5L 0.4€/Pro Liter
>=L 0.35€/Pro Liter

Mein Versuch sieht im Ansatz so aus:

Java:
public class Zollrechner
{
  public double rechneAlkoholmenge(double biermenge)
  {
  return 100/biermenge*4.5;
  }
  public double gibZollbetrag(double biermenge)
  {
  if (rechneAlkoholmenge()<0.3)
  return 0;

Darauf bekomme ich die Rückmeldung, dass ich die Methode rechneAlkoholmenge() so nicht verwenden darf...

Weis einer was ich machen kann, damit ich das Ergebnis der Methode rechneAlkoholmenge() so verwenden kann?

Lg und danke schonmal fürs durchlesen
RowdyN
 

Joose

Top Contributor
Wie lautet denn die Fehlermeldung genau? (1:1 kopieren ist immer am besten)
Deine Methode erwartet einen Parameter, welchen du nicht übergibst. Daher ist der Aufruf so falsch.
 

RowdyN

Mitglied
Die Fehlermeldung lautet:

method rechneAlkoholmenge in class Zollrechner cannot be applied to given types;
required:double; found: no argument; reason: actual and fromal argument lists differ in lenght
 

Joose

Top Contributor
Passt :) wie oben schon geschrieben hast du die Methode mit Parameter definiert, aber gibst beim Aufruf der Methode keine Parameter mit.
 

VfL_Freak

Top Contributor
Moin,

na es steht doch da:
die Methode erwartet als Parameter eine double-Wert, Du rufst sie aber ohne Argument auf !

Gruß Klaus

Mist - zu langsam :(
 

RowdyN

Mitglied
Also muss ich nur noch einen Argument hinzufügen und dann kann ich die Aufgabe so lösen?
Code:
    public double gibZollbetrag(double biermenge)
    {
        if (rechneAlkoholmenge()<0.3)
            return 0;
        else if (rechneAlkoholmenge()<2)
            return rechneAlkoholmenge()*0.5;
        else if (rechneAlkoholmenge()<5)
            return rechneAlkoholmenge()*0.4;
        else  
            return rechneAlkoholmenge()*0.35           
    }

Und wenn ja... Welches Argument muss ich dann noch hinzufügen und wo? :)
 

RowdyN

Mitglied
Sorry aber damit kann ich nicht viel anfangen. Habe gerade ein bissl rumprobiert, aber ich weiß leider nicht wie ich diese Anweisung geben soll.
Wenn ich das richtig verstehe muss ich etwas vor die Methode setzten. Ich habe es mit "in class Zollrechner" probiert. Klappt natürlich nicht...
Man benötigt wahrscheinlich ein Schlüsselwort, welches ich nicht kenne bzw. weiß.
 

VfL_Freak

Top Contributor
Nein :(

die Methode rechneAlkoholmenge erwartet als Parameter die Biermenge als double-Wert!
Du rufst sie aber ohne Argument auf!!

Du musst also jedesmal Deinen Parameter durchreichen
Java:
public double gibZollbetrag(double biermenge)
    {
        if (rechneAlkoholmenge(biermenge)<0.3)
            return 0;
        else if (rechneAlkoholmenge(biermenge)<2)
            return rechneAlkoholmenge(biermenge)*0.5;
        else if (rechneAlkoholmenge(biermenge)<5)
            return rechneAlkoholmenge(biermenge)*0.4;
        else
            return rechneAlkoholmenge(biermenge)*0.35        
    }

Gleiches würde ggf. auch für gibZollbetrag gelten ;)

Gruß Klaus
 

RowdyN

Mitglied
Achso... Dankeschön.
Manchmal ist die Lösung so einfach, dass man sie nicht sieht :)

PS: Vielleicht wirds ja diesmal was mit dem Aufstieg ;)
 

Neue Themen


Oben