Java 访问方法导致If语句

Java 访问方法导致If语句,java,Java,是否可以在If语句中访问方法语句的结果?我正在写一个计算抄表作业的程序。Netbeans声明它找不到我创建的methodName的符号。以下是迄今为止的代码: public class Meter_Utility { //Begin Main Method public static void main(String[] args) { //new scanner object Scanner input = new Scanner(System.in);//create n

是否可以在If语句中访问方法语句的结果?我正在写一个计算抄表作业的程序。Netbeans声明它找不到我创建的methodName的符号。以下是迄今为止的代码:

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;
}
public class Meter\u实用程序{
//开始主方法
公共静态void main(字符串[]args){
//新的扫描对象
扫描仪输入=新扫描仪(System.in);//创建新的扫描仪对象
//声明
双前置计;
双电流表;
倍率=0;
//双重总用法=0;
//从用户处获取仪表读数
System.out.print(“欢迎使用城市电费计算器!请输入您以前的电表读数:”);
prevMeter=input.nextDouble();
System.out.print(“请输入您当前的电表读数:”);
currMeter=input.nextDouble();
//输出总使用量
System.out.printf(“您的使用量为:%.1f KwHs”,总使用量(prevMeter,currMeter));
//计算比率
如果(总使用量<500){
比率=.0809;
}
否则如果(totalUsage>500&&totalUsage<900){
比率=.091;
}
否则{
比率=.091;
}
//产出率
System.out.printf(“\n您的费率为:%.4f/KwH”,费率);
}//结束主方法
/**
*计算总使用量的方法
*@param u1
*@param u2
*@第1个月和第2个月的回报差异
*/
专用静态双totalUsage(双u1,双u2){
返回u2-u1;
}
}

所以我希望totalUsage可以在if语句中访问,这样我就可以确定速率并继续

我已经为类似的帖子研究了stackoverflow,结果是空的。我在这里进行了研究:对于已经存在的if/else语句:

您应该声明一个变量来存储您的总使用量,或者每次调用该方法

带有变量:

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);
double totalUsage=totalUsage(prevMeter,currenmeter);
System.out.printf(“您的使用量为:%.1f KwHs”,总使用量);
//计算比率
如果(总使用量<500.0){
比率=.0809;
}
否则如果(totalUsage>500.0&&totalUsage<900.0){
比率=.091;
}
否则{
比率=.091;
}
//产出率
System.out.printf(“\n您的费率为:%.4f/KwH”,费率);
通过调用方法:

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);
//输出总使用量
System.out.printf(“您的使用量为:%.1f KwHs”,总使用量(prevMeter,currMeter));
//计算比率
if(总使用量(前置表、电流表)<500.0){
比率=.0809;
}
否则,如果(总使用量(prevMeter,currMeter)>500.0和总使用量(prevMeter,currMeter)<900.0){
比率=.091;
}
否则{
比率=.091;
}
//产出率
System.out.printf(“\n您的费率为:%.4f/KwH”,费率);

您应该声明一个变量来存储您的总使用量,或者每次调用该方法

带有变量:

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);
double totalUsage=totalUsage(prevMeter,currenmeter);
System.out.printf(“您的使用量为:%.1f KwHs”,总使用量);
//计算比率
如果(总使用量<500.0){
比率=.0809;
}
否则如果(totalUsage>500.0&&totalUsage<900.0){
比率=.091;
}
否则{
比率=.091;
}
//产出率
System.out.printf(“\n您的费率为:%.4f/KwH”,费率);
通过调用方法:

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);
//输出总使用量
System.out.printf(“您的使用量为:%.1f KwHs”,总使用量(prevMeter,currMeter));
//计算比率
if(总使用量(前置表、电流表)<500.0){
比率=.0809;
}
否则,如果(总使用量(prevMeter,currMeter)>500.0和总使用量(prevMeter,currMeter)<900.0){
比率=.091;
}
否则{
比率=.091;
}
//产出率
System.out.printf(“\n您的费率为:%.4f/KwH”,费率);

变量
totalUsage
不存在。它被注释掉,因此
找不到符号
消息。方法
totalUsage(double-u1,double-u2)
是不相关的,因为它从未被使用过。或者如果你想在功能上引用它,你必须添加括号和参数,我现在看到实际使用的是
totalUsage(double-u1,double-u2)
,所以我错了-但问题仍然是您试图使用例如
if(totalUsage<500)
检查变量
totalUsage
的值,这是不可能的,因为变量不存在。在系统之前添加
double totalUsage=totalUsage(prevMeter,currentmeter)
。是的,我现在想起来了。我对此进行了评论,并尝试了另一种方法。未注释时,无论输入结果如何(小于500、大于900等),它都以.0809的速率计算所有内容……变量
totalUsage
不存在。它被注释掉,因此
找不到符号
消息。方法
totalUsage(double-u1,double-u2)
是不相关的,因为它从未被使用过。或者如果你想在功能上引用它,你必须添加括号和参数,我现在看到实际使用的是
totalUsage(double-u1,double-u2)
,所以我错了-但问题仍然是您试图使用例如
if(totalUsage<500)
检查变量
totalUsage
的值,这是不可能的,因为变量不存在。在系统之前添加
double totalUsage=totalUsage(prevMeter,currentmeter)
。是的,我现在想起来了。我对此进行了评论,并尝试了另一种方法。未注释时,无论输入结果如何(小于500、大于900等),它都会以.0809的速率计算所有内容…完美!所以我可以访问它,我只需要调用完整的方法格式,听起来像。。。非常感谢你的帮助!啊,我看到了在double totalUsage=totalUsage(prevMeter,currMeter)中存储它的位置;完美的所以我可以访问它,我只需要调用完整的方法格式,听起来像。。。非常感谢你的帮助!啊,我看到了在double totalUsage=totalUsage(prevMeter,currMeter)中存储它的位置;