Java 获取setter方法

Java 获取setter方法,java,Java,我试图在Java中使用get set方法从一个类中获取输出值,并将其输入到另一个类中。类1将结果打印为0.0 这是一班 Paper paperone = new Paper(); float a = paperone.getPercentage(); System.out.println("percentage " + a); 这是第二类: private float percentage; public float getPercentage() {

我试图在Java中使用get set方法从一个类中获取输出值,并将其输入到另一个类中。类1将结果打印为
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() + "%");
我从正在读取的行列表中获取计数。当我从第二个类打印时,我得到了正确的结果,但不是第一个类的结果。我做错什么了吗

多谢各位

Paper paperone = new Paper();
float a = paperone.getPercentage(); 
System.out.println("percentage " + a);
您可以创建一个
Paper
类的新对象。其
浮动百分比
字段初始化为
0.0f
。您不调用
setPercentage()
因此
percentage
保持
0.0f


顺便说一下,使用
double
代替
float

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

setPercentage((total * 100/ 5000));
total
小于50的任何值乘以100将小于5000,整数除以5000的结果将为0

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

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

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

Paper paperone = new Paper();
您还需要为此对象调用
setPercentage

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

private static float percentage;

我将float改为double,正如Robin Chander所说,当我使用
private static float
时,它可以工作。但是在第二节课中,我得到了正确的答案,代码在没有get set方法的情况下运行。