java - 如何在方法之间传递参数并使用Java正确调用方法?
问题描述
该程序应执行以下操作:
编写一个名为 getheartRate 的方法,该方法不接受任何参数并返回一个 int (heartRate)。此方法提示用户输入患者的心率,从命令行读取他们的输入,并返回此值。
编写一个名为 checkHeartRate 的方法,该方法接受一个 int 参数(心率)并返回一个字符串(结果)。如果心率高于 100,则返回值“High”。如果心率低于 60,则返回值“Low”。否则返回“正常”。
编写一个名为 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;
}
}
运行时,输出的只是“请输入您的心率:”。一旦我输入一个整数,程序就结束了。什么做错了?
解决方案
您应该更改此方法以返回如下心率:
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);
那应该可以解决您的问题。
推荐阅读
- python - 将数组中的数据保存到 csv 文件中
- animation - 使用 Animator 0.1.2 的动画停止工作
- scala - 修改 Spray JSON 中的键
- azure-data-explorer - 是否有用于访问 Kusto 外部的 Kusto 数据的 API?
- python - 计数非子串重叠
- reactjs - 为什么运行 React 时 localhost 服务器会启动?
- php - 在 Wordpress Functions.php 中创建和显示自定义帖子类型
- java - Kotlin、Dagger2、MVVM 和 ContributesAndroidInjector
- kotlin - 使用 `by` 实现多个重载接口
- haskell - 在 Haskell `System.Console.GetOpt` 模块中,什么时候使用选项解释?