[英]How do I use another method in a method?
我想在方法preisProKilo()
中使用方法gesamtpreis()
嗎? 它關於計算產品的總價格。 preis pro kilo = price per kilo
和gesamtpreis = 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.