Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在方法中使用其他方法?_Java_Methods_Reference_Return - Fatal编程技术网

Java 如何在方法中使用其他方法?

Java 如何在方法中使用其他方法?,java,methods,reference,return,Java,Methods,Reference,Return,我想在方法gesamtpreis()中使用方法preisProKilo()?这是关于计算产品的总价格preis pro kilo=每公斤价格和gesamtpreis=总金额 class Kaffeeladen { double preisProKilo(double grundpreis) { return (grundpreis + 2.19) * 1.19; } double gesamtpreis(int gewuenschteMenge,

我想在方法
gesamtpreis()
中使用方法
preisProKilo()
?这是关于计算产品的总价格
preis pro kilo=每公斤价格
gesamtpreis=总金额

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; 
}
Kaffeeladen k = new Kaffeeladen();
double value = k.gesamtpreis(2, 3.00);
您可以将
newValueName
的名称更改为您选择的任何名称,但请尝试使用不同的名称

此外,我看不到您在任何地方实际使用
gesamtpreis(int,double)
,因此您也需要在
main
中这样做:

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

double gesamtpreis(int gewuenschteMenge, double newValueName) {
    return preisProKilo(newValueName) * gewuenschteMenge; 
}
Kaffeeladen k = new Kaffeeladen();
double value = k.gesamtpreis(2, 3.00);

您会感到困惑,因为您将方法和变量命名为相同的名称。不要这样做

您根本没有调用方法,您只是在使用变量

应该是这样的:

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

double gesamtpreis(int gewuenschteMenge, double newValueName) {
    return preisProKilo(newValueName) * gewuenschteMenge; 
}
Kaffeeladen k = new Kaffeeladen();
double value = k.gesamtpreis(2, 3.00);
您可以将
newValueName
的名称更改为您选择的任何名称,但请尝试使用不同的名称

此外,我看不到您在任何地方实际使用
gesamtpreis(int,double)
,因此您也需要在
main
中这样做:

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

double gesamtpreis(int gewuenschteMenge, double newValueName) {
    return preisProKilo(newValueName) * gewuenschteMenge; 
}
Kaffeeladen k = new Kaffeeladen();
double value = k.gesamtpreis(2, 3.00);

我不确定您在这里到底想做什么,因为变量的命名与方法名相同,但要调用方法,您需要使用语法
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;
} 

我不确定您在这里到底想做什么,因为变量的命名与方法名相同,但要调用方法,您需要使用语法
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;
} 

您可能希望给出所需数量的
gewuenschtement
,以及
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(双grundpreis)时使用
preisProKilo
变量
要做到这一点,您必须按照上面的代码调用它。

您可能想要给出
gewuenschtemmension
这是所需的数量,而
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)
,因此您必须按照上面的代码所示调用它。

尽管
gesamtpreis(int,double)
中的
返回方式不正确。无论如何,您都不能在代码中调用该方法。这个返回可以是这样的:
returnpreisprokilo(preisProKilo)*gewuenschtemmenge尽管
返回方式在
gesamtpreis(int,double)
中不正确。无论如何,您都不能在代码中调用该方法。这个返回可以是这样的:
returnpreisprokilo(preisProKilo)*gewuenschtemmenge