簡體   English   中英

如何在方法中使用另一種方法?

[英]How do I use another method in a method?

我想在方法preisProKilo()中使用方法gesamtpreis()嗎? 它關於計算產品的總價格。 preis pro kilo = price per kilogesamtpreis = total amount

class Kaffeeladen {

  double preisProKilo(double grundpreis) {        
        return (grundpreis + 2.19) * 1.19;
  }

  double gesamtpreis(int gewuenschteMenge, double preisProKilo) {      
    return preisProKilo * gewuenschteMenge; 
    //Here its not using the method "preisProKilo" from above. 
  }

  public static void main(String[] args) {
    Kaffeeladen k = new Kaffeeladen();

    double preis1 = k.preisProKilo(3.00);
    System.out.println("Bei einem Grundpreis von 3,00 Euro kostet 1 kg Kaffee inklusive Steuern " + preis1 + " Euro.");


  }
}

您會感到困惑,因為您將方法和變量命名為相同的東西。 不要這樣做。

您根本沒有調用方法,您只是在使用變量。

它應該是這樣的:

double preisProKilo(double grundpreis) {
    return (grundpreis + 2.19) * 1.19;
}

double gesamtpreis(int gewuenschteMenge, double newValueName) {
    return preisProKilo(newValueName) * gewuenschteMenge; 
}

您可以將newValueName的名稱更改為您選擇的任何名稱,請嘗試使用不同的名稱。

此外,我看不到您實際使用gesamtpreis(int, double)的任何地方,因此您還需要通過在main中執行以下操作來使用它:

Kaffeeladen k = new Kaffeeladen();
double value = k.gesamtpreis(2, 3.00);

您可能想提供所需數量的gewuenschteMenge和您的grundpreis或全價方法中的基本價格gesamtpreis

class Kaffeeladen {

  double preisProKilo(double grundpreis) {        
        return (grundpreis + 2.19) * 1.19;
  }

  double gesamtpreis(int gewuenschteMenge, double grundpreis) {      
    return preisProKilo(grundpreis) * gewuenschteMenge; 
  }

  public static void main(String[] args) {
    Kaffeeladen k = new Kaffeeladen();

    double preis1 = k.preisProKilo(3.00);
    System.out.println("Bei einem Grundpreis von 3,00 Euro kostet 1 kg Kaffee inklusive Steuern " + preis1 + " Euro.");


  }
}

您實際上是使用preisProKilo變量而不是調用方法preisProKilo(double grundpreis)來執行此操作,因此您必須按照上面的代碼所示調用它。

我不確定您在這里要做什么,因為變量的命名與方法名稱相同,但是要調用方法,您需要使用語法methodToCall(arg1, arg2)

您似乎對方法的工作原理缺乏了解。 一種思考方式是根據數學函數。 例如,

f(x)= x + 1

如果x為 1,則f(x)的值為 2。如果x為 2,則f(x)的值為 3,依此類推。

因此,在 Java 中的相同寫法如下:

public int addOne(int x) {
  return x + 1;
}

要調用該方法,您將執行此操作。

public int doWork(int value) {
  // doing work...
  value = addOne(value);
  // doing more work...
  return value;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM