访问方法结果在if语句中



是否可以在if语句中访问方法语句的结果?我正在编写一个程序来计算仪表读数。Netbeans指出,它找不到我创建的方法名的符号。这是到目前为止的代码:

public class Meter_Utility {
//Begin Main Method
public static void main(String[] args) {
    //new scanner object
    Scanner input = new Scanner(System.in);//create new scanner object
    //Declarations
    double prevMeter;
    double currMeter;
    double rate = 0;
//        double totalUsage = 0;
    //obtain meter readings from user
    System.out.print("Welcome to the City Power Bill Calculator! Please enter your previous meter reading: ");
    prevMeter = input.nextDouble();
    System.out.print("Please enter your Current meter reading: ");
    currMeter = input.nextDouble();
    //output total usage
    System.out.printf("your usage was: %.1f KwHs", totalUsage(prevMeter, currMeter));
    //calculate rate        
    if (totalUsage < 500) {
        rate = .0809;
    }
    else if (totalUsage > 500 && totalUsage < 900){
        rate = .091;
    }
    else {
        rate = .091;
    }
    //output rate   
    System.out.printf("nYour rate was: %.4f/KwH", rate);
} //End Main Method  
/**
 *  Method to calculate total Usage
 * @param u1
 * @param u2
 * @return difference of month 1 and month 2
 */
private static double totalUsage(double u1, double u2) {
    return u2 - u1;
}

}

因此,我希望在if语句中可以访问totalusage,这样我就可以确定速率并继续。

我已经在Stackoverflow上研究了类似的帖子,并空了。我在这里研究了:对于IF/其他陈述也是如此:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html

您应该声明一个变量以库存您的总使用情况,或者每次调用该方法。

带有变量:

double totalUsage = totalUsage(prevMeter, currMeter);
System.out.printf("your usage was: %.1f KwHs", totalUsage);
//calculate rate        
if (totalUsage < 500.0) {
    rate = .0809;
}
else if (totalUsage > 500.0 && totalUsage < 900.0){
    rate = .091;
}
else {
    rate = .091;
}
//output rate   
System.out.printf("nYour rate was: %.4f/KwH", rate);

通过调用方法:

//output total usage
System.out.printf("your usage was: %.1f KwHs", totalUsage(prevMeter, currMeter));
//calculate rate        
if (totalUsage(prevMeter, currMeter) < 500.0) {
    rate = .0809;
}
else if (totalUsage(prevMeter, currMeter) > 500.0 && totalUsage(prevMeter, currMeter) < 900.0){
    rate = .091;
}
else {
    rate = .091;
}
//output rate   
System.out.printf("nYour rate was: %.4f/KwH", rate);