获取setter方法

时间:2013-03-15 16:00:39

标签: java

我正在尝试在Java中使用get set方法从一个类获取输出值到另一个类。第一类将结果打印为0.0

这是第一类。

Paper paperone = new Paper();
    float a = paperone.getPercentage(); 
    System.out.println("percentage " + a);

这是第二节课:

private float percentage;
    public float getPercentage() {
        return percentage; }
    public void setPercentage(float percentage) {
        this.percentage = percentage; }

这是我想从中获得结果的地方:

int total;
total = count+count1+count2;
System.out.println("The total is : ");

setPercentage((total * 100/ 5000));
System.out.println("The percentage for: " + getPercentage() + "%");

我从正在读取的行列表中获取计数。当我从第二堂课打印时,我得到了正确的结果,但不是第一堂课。有什么我做错了吗?

谢谢。

3 个答案:

答案 0 :(得分:0)

Paper paperone = new Paper();
float a = paperone.getPercentage(); 
System.out.println("percentage " + a);

您创建了Paper类的新对象。其float percentage字段初始化为0.0f。您没有致电setPercentage(),因此percentage仍为0.0f

顺便说一句,请使用double代替float

答案 1 :(得分:0)

您的total变量是int,因此此行正在执行整数数学运算:

setPercentage((total * 100/ 5000));

total小于50的任何值,乘以100时将小于5000,整数除以5000的结果将为0.

将其转换为浮点数以获得正确的结果:

setPercentage(((float) total * 100/ 5000));

答案 2 :(得分:0)

因为你在这里创建了新对象

Paper paperone = new Paper();

您还需要为此对象调用setPercentage

如果您希望percentage类的每个对象的Paper字段相同,则将其声明更改为静态

private static float percentage;