我在 Java 中的方法找不到变量的值并将其设置为 0。我做错了什么?

所以我有两种方法:


public double calcAvg()

    {


        double dSum;

        dSum=iTest1+iTest2+iTest3/3;

        System.out.print(dSum);

        return dSum;

    }

public void setTestScores(int iTest1, int iTest2, int iTest3)

    {

        if(iTest1>0)

        {

            this.iTest1=iTest1;

        }

        if(iTest2>0)

        {

            this.iTest2=iTest2;

        }

        if(iTest3>0)

        {

            this.iTest3=iTest3;

        }

我试图弄清楚为什么在输入具有如下值的变量后将 calcAvg()的值设置为 0:iTest1, iTest2, iTest3Methods.setTestScores(90,78,83);


汪汪一只猫
浏览 101回答 2
2回答

慕姐4208626

您没有发布Methods是什么,但我假设它是 的一个实例Student。之所以iTest1, iTest2, iTest3为 0 是因为您在第一个中设置值Student,但calcAvg()在第二个中调用,其中变量的默认值为 0。尝试public static void main(String[] args){    Student student = new Student();    student.setTestScores(90, 78, 83);    student.calcAvg();}

PIPIONE

问题出在 main 方法中,您在实例中设置变量并在单独的实例上计算平均值,尝试下面的代码它将起作用:public static void main(String[] args){    Student std = new Student();    std.setTestScores(90,78,83);    std.calcAvg();}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java