在另一个方法中使用方法的变量

时间:2016-03-02 22:11:06

标签: java

我想在这个类的另一个方法中使用结果和权力。它怎么可能?

private double facto(int n) {
    for (int i = 1; i <= n; i++) {
        result = result * i;
    }
    return result;
}

private double power(int x,int n) {
    double power = Math.pow(-1, n) * Math.pow(x, 2 * n);
    return power;
}

2 个答案:

答案 0 :(得分:1)

您只需从另一种方法中调用方法即可。

private void example(){
    System.out.println("facto - " + facto(1));
    System.out.println("power - " + power(1,1));
}

该示例将只输出返回值。如果要将返回值设置为变量,请执行此操作。

private void example(){
    double ex1 = facto(1);
    double ex2 = power(1,1);
    //Now ex1 holds the return value of facto(), and ex2 holds the return value of power().
}

此外,您应该在facto()方法中实例化结果int,否则它将无法工作。如果你在其他地方实例化它,那将是与变量范围有关的问题。我不确定你对此有多熟悉,所以作为旁注:当你第一次调用方法时,结果变量将始终为0,因为本地范围。

private double facto(int n) {
    int result = 0;
    for (int i = 1; i <= n; i++) {
        result = result * i;
    }
    return result;
}

答案 1 :(得分:0)

有多种可能性:

  1. 您可以在另一种方法中调用您的方法:

    public void othermethod(){

       double power = power(x,n);
        double facto = facto(n);
    

    }

  2. 您可以创建类变量:

    private double power = null; private double facto = null;

  3. 现在在你的方法中设置它们(当然这需要运行方法):

     private double facto(int n) { 
            double result;
            for (int i = 1; i <= n; i++) { 
                   result = result * i; 
            } 
            this.facto = result;
            return result; 
      } 
    
      private double power(int x,int n) {      
             double power = Math.pow(-1, n) * Math.pow(x, 2 * n); 
             this.power = power ;
             return power; 
       }
    

    如果您有一个具有相同名称的方法变量,那么这将使用类变量。

    抱歉,我在移动设备上,所以无法完成所有格式化