gpt4 book ai didi

java - 在类中设置值不起作用

转载 作者:行者123 更新时间:2023-12-02 07:10:42 25 4
gpt4 key购买 nike

我有一门叫做货币的类(class)

public class Monetary
{
double value;
String type;

public Monetary()
{
value = 0;
type = "";
}

public double getValue()
{
return value;
}

public void setValue(double x)
{
x = this.value;
}

我正在测试 get 和 set 方法,因此我创建了一个测试类,如下所示

    public class test 
{
public static void main(String [] args)
{

double test = 5000;

Monetary testM = new Monetary();

testM.setValue(5000);

System.out.println(testM.getValue());


}
}

问题是java打印的结果不是5000.0,而是0。我不明白为什么会发生这种情况。这些方法对吗?

最佳答案

问题出在 setValue 方法中:

public void setValue(double x) {
x = this.value;
}

您正在为参数分配属性的当前值,它应该是向后的:

public void setValue(double x) {
this.value = x;
}

请注意,即使这样做,您也会得到类似 5000.0000000... 的输出。为了修复结果,您可以使用 String#formatSystem.out.printf :

System.out.println(String.format("%.2f", testM.getValue()));

System.out.printf("%.2f\n", testM.getValue());

关于java - 在类中设置值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com