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

如何在方法之间传递参数并使用Java正确调用方法?

如何在方法之间传递参数并使用Java正确调用方法?

皈依舞 2021-12-22 20:21:10
该程序应执行以下操作:编写一个名为 getheartRate 的方法,它不接受任何参数并返回一个 int (heartRate)。此方法提示用户输入患者的心率,从命令行读取他们的输入,并返回此值。编写一个名为 checkHeartRate 的方法,它接受一个 int 参数(心率)并返回一个字符串(结果)。如果心率高于 100,则返回值“High”。如果心率低于 60,则返回值“低”。否则返回“正常”。编写一个名为 printHRResult 的方法,它接受一个 String 参数,它是方法 checkHeartRate 的结果。将此值打印到命令行。使用适当的参数传递从主方法调用所有三个方法。到目前为止,我有:public class UnitSixInClassFall2018 {    /**     * @param args the command line arguments     */    public static void main(String[] args) {        UnitSixInClassFall2018 u = new UnitSixInClassFall2018();        u.getHeartRate();        System.out.println();        Scanner scan = new Scanner(System.in);        u.checkHeartRate(0);        // END MAIN    }    public int getHeartRate(){        System.out.print("Please enter your heart rate: ");        Scanner scan = new Scanner(System.in);        int heartRate = scan.nextInt();        return 0;    }    public void checkHeartRate(int heartRate){        if (heartRate > 100) {           String result = "High";        }        else if (heartRate < 60) {           String result = "Low";        }        else {           String result = "Normal";        }    }    public String printHRResults(String result) {         System.out.print("Your hear rate is " + result + ".");       return result;     }}运行时,输出的只是“请输入您的心率:”。一旦我输入一个整数,程序就结束了。做错了什么?
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

您应该更改此方法以返回这样的心率:


public int getHeartRate(){

    System.out.print("Please enter your heart rate: ");

    Scanner scan = new Scanner(System.in);

    int heartRate = scan.nextInt();

    // Also add this

    scan.close();

    return heartRate;

}

并更改此方法以返回结果:


public String checkHeartRate(int heartRate){

    if (heartRate > 100) {

       return "High";

    }

    else if (heartRate < 60) {

       return "Low";

    }

    else {

       return "Normal";

    }


}

然后在你的主要方法中:


// get the heart rate

int heartRate = u.getHeartRate();

// Call the checkHeartRate method

String result = checkHeartRate(heartRate);

// call the printHRResults 

printHRResults(result);

那应该可以解决您的问题。


查看完整回答
反对 回复 2021-12-22
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

首先,您要创建两个Scanner具有相同输入类型 ( System.in) 的对象,这是不推荐的。相反,只需创建一个Scanner对象并在程序中的任何地方使用它。这篇文章有一些很好的信息。


改进了Scanner对象使用的代码的改进版本如下:


public UnitSixInClassFall2018 {

    private static final Scanner scan = new Scanner(System.in);


    public static void main(String[] args) {

        NewMain u = new NewMain();

        int heartRate = u.getHeartRate();

        System.out.println();

        String result = u.checkHeartRate(heartRate);

        u.printHRResults(result);

        scan.close(); // Close the scanner once you are completely done using it

    }


    public int getHeartRate() {

        System.out.print("Please enter your heart rate: ");

        return scan.nextInt(); // Return the input of the user

    }


    public String checkHeartRate(int heartRate) {

        String result = ""; // Initialize some default value

        if (heartRate > 100) {

           result = "High";

        }

        else if (heartRate < 60) {

           result = "Low";

        }

        else {

           result = "Normal";

        }

        return result; // Return the result calculated from the if-statements

    }


    public void printHRResults(String result) {

       System.out.print("Your heart rate is " + result + ".");

       // Originally this method returned a string but that seems unnecessary

    }

}


查看完整回答
反对 回复 2021-12-22
  • 2 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号