Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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 - Fatal编程技术网

Java 如何使用字段内部方法?

Java 如何使用字段内部方法?,java,Java,首先,这是我在这里的第一个问题 我想在传递方法中使用double mebleg,我已经将mebleg等同于构造函数中的balance,但不幸的是,balance的参数量与mebleg to传递方法不符。我怎样才能解决这个问题 我是编程新手。这就是为什么如果我的问题得到了回答,你能建议答案的链接吗 class Acount { static double mebleg; public static void main(String[] args) { Acoun

首先,这是我在这里的第一个问题

我想在传递方法中使用double mebleg,我已经将mebleg等同于构造函数中的balance,但不幸的是,balance的参数量与mebleg to传递方法不符。我怎样才能解决这个问题

我是编程新手。这就是为什么如果我的问题得到了回答,你能建议答案的链接吗

class Acount {

    static double mebleg;

    public static void main(String[] args) {
        Acount a = new Acount(100);
        Acount b = new Acount(0.0);
        Acount c = new Acount(0.0);
        Acount.transfer(a, b, 50);
        Acount.transfer(b, c, 25);

    }

    public Acount(double balance) {
        mebleg = balance;
    }

    public static void transfer(Acount from, Acount to, double howMuch) {
        System.out.println(Acount.mebleg - howMuch);

    }

}

如果要将字段用于实例,则不应将其设置为静态。如果您更改了它,您的
transfer()
方法应该使用
from.mebleg
(或相关的getter)


(此处不讨论各种现有问题,如事务、并发性、错误处理和货币单位double的使用)。

您可能不希望使用静态变量(
mebleg
)来平衡。这对所有账户都是一样的。那么问题到底是什么呢?你有错误吗?输出错误?@ModusTollens请仔细查看我的代码,我使用了关键字“static”。mebleg对于所有账户都应该是静态的,因为钱的数量(我是说100.0,0.0)@Mureinik输出是-50.0-25.0,但我不知道为什么输出是负的,为什么不应该是正的?@nihat我确实仔细看过你的代码。我已经仔细研究代码20年了。相信我:平衡不应该是静态的。
double mebleg;

public Account(double initialBalance) { mebleg = initialBalance; }

public static void transfer(Acount from, Acount to, double howMuch)
{
    from.mebleg -= howMuch;
    to.mebleg += howMuch;
}