为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我没有得到任何值?

为什么我没有得到任何值?

喵喔喔 2023-07-28 10:18:58
运行以下方法时,我没有得到任何返回。总是被终止而没有任何结果。有人可以告诉我为什么我没有得到任何结果吗?我根据评论进行了调整,但没有成功。我在下面添加了主要方法;public class ModuleGrader {final int examID = 123;String excellent =null;String good=null;String satisfactory=null;String compensatableFail=null;String outrightFail=null;int grade;public String gradeModule(int mark) {    String result = null;    if (mark>=70 && mark<=100)     {        result = excellent;        System.out.println(" ");        }    else if (mark>=60 && mark<=69)    {        result = good;    }    else if (mark>=50 && mark<=59)    {        result = satisfactory;    }    else if (mark>=40 && mark<=49)    {        result = compensatableFail;    }    else if (mark>=0 && mark<=39) {        result = outrightFail;    }    else {        System.out.println("Invalid entery, please insert an number between 100-0");                }    return result;}所以我添加了我的调用 main 方法;调用的方法可能是问题所在?public static void main(String[] args) {        ModuleGrader mg=new ModuleGrader();        mg.gradeModule(100);        mg.gradeModule(66);}
查看完整描述

2 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

String excellent;您没有为,分配任何值String good;,因此它会失败,因为在调用它们时这些值尚未初始化为任何值。

  1. 你怎么知道它不起作用?您没有将最终结果输出到控制台。我添加了System.out.println()纠正这一点。

  2. 你不能从静态的东西引用非静态的东西。更改public class ModuleGraderpublic static class ModuleGrader.

最终工作代码

public class Main {

    public static void main(String[] args) {

        ModuleGrader mg=new ModuleGrader();

        System.out.println(mg.gradeModule(100));

        System.out.println(mg.gradeModule(66));

    }

    public static class ModuleGrader {

        final int examID = 123;

        String excellent = null;

        String good = null;

        String satisfactory = null;

        String compensatableFail = null;

        String outrightFail = null;

        int grade;


        public String gradeModule(int mark) {

            String result = null;

            if (mark >= 70 && mark <= 100) {

                result = excellent;

                System.out.println(" ");

            } else if (mark >= 60 && mark <= 69) {

                result = good;

            } else if (mark >= 50 && mark <= 59) {

                result = satisfactory;

            } else if (mark >= 40 && mark <= 49) {

                result = compensatableFail;

            } else if (mark >= 0 && mark <= 39) {

                result = outrightFail;

            } else {

                System.out.println("Invalid entery, please insert an number between 100-0");

            }


            return result;

        }

    }

}


查看完整回答
反对 回复 2023-07-28
?
RISEBY

TA贡献1856条经验 获得超5个赞

public class ModuleGrader {

    final int examID = 123;

    //String excellent=null;

    //String good=null;

    //String satisfactory=null;

    //String compensatableFail=null;

    //String outrightFail=null;

    int grade;


    public String gradeModule(int mark) {

        String result = null;

        if (mark>=70 && mark<=100) 

        {

            result = "excellent";

            System.out.println(" ");

            }

        else if (mark>=60 && mark<=69)

        {

            result = "good";

        }

        else if (mark>=50 && mark<=59)

        {

            result = "satisfactory";

        }

        else if (mark>=40 && mark<=49)

        {

            result = "compensatableFail";

        }

        else if (mark>=0 && mark<=39) {

            result = "outrightFail";

        }

        else {

            System.out.println("Invalid entery, please insert an number between 100-0");

                    }


        return result;

    }


查看完整回答
反对 回复 2023-07-28
  • 2 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信