从一种方法访问另一种方法的双重

时间:2016-09-13 15:04:31

标签: java intellij-idea

我是java的初学者,只需要知道如何将这个变量从一个方法用到另一个方法,因为它是一个赋值的一部分。请帮忙。

public class parking {
 public static void input(String args[]) {

    int hoursParked = IO.getInt("(\\(\\ \n(-,-)      How many hours were you parked?\no_(\")(\")");
    double bill = hoursParked * 0.5 + 2;
}

 public static void output(String args[]) {
     System.out.println("         Parking");
     System.out.println("$2 Fee plus $0.50 every hour!");
     System.out.println("\nYour amount owed is $" + bill + "0");

 }

}

2 个答案:

答案 0 :(得分:2)

在您的代码中,billinput中的本地变量。您无法从外部input引用该变量。

如果inputoutput是单独的方法,那么通常的做法是将它们设为实例方法并创建一个parking实例使用方法。这使您可以将bill存储为实例变量(也称为“实例字段”)。 (通常情况下,课程的上限为Parking,所以我会在这里做。)

public class Parking {
    private double bill;

    public Parking() {
        this.bill = 0.0;
    }

    public void input() {
        int hoursParked = IO.getInt("(\\(\\ \n(-,-)      How many hours were you parked?\no_(\")(\")");
        this.bill = hoursParked * 0.5 + 2; // Or perhaps `+=`
    }

    public void output() {
        System.out.println("         Parking");
        System.out.println("$2 Fee plus $0.50 every hour!");
        System.out.println("\nYour amount owed is $" + this.bill + "0");
    }
}

(Java在引用实例成员时使用this.是可选的。我总是提倡使用它,如上所述,以明确我们不使用局部变量。其他意见各不相同,说这是不必要的这是一个风格问题。)

用法

Parking p = new Parking();
p.input(args);
p.output();

或者,bill返回 input的值,然后将其传递到output

public class Parking {

    public static double input() {
        int hoursParked = IO.getInt("(\\(\\ \n(-,-)      How many hours were you parked?\no_(\")(\")");
        return hoursParked * 0.5 + 2;
    }

    public static void output(double bill) {
        System.out.println("         Parking");
        System.out.println("$2 Fee plus $0.50 every hour!");
        System.out.println("\nYour amount owed is $" + bill + "0");
    }
}

用法:

double bill = parking.input(args);
parking.output(bill);

旁注:由于inputoutput都没有对args做任何事情,我已将其删除。

答案 1 :(得分:0)

您可以声明为类变量,然后访问它。

float : left