运动状态最佳心率计算器 (Target-Heart-Rate Calculator)

基本业务逻辑:

运动时最高心率:220-年龄(年)

运动时目标心率范围:运动时最高心率×0.5~运动时最高心率×0.85

说明:计算公式出处为American Heart Association (AHA) (www.americanheart.org/presenter.jhtml?identifier=4736)


代码如下:

//Exercise 3.16: Target-Heart-Rate Calculator,HeartRates.java
//By Pandenghuang@163.com
import javax.swing.JOptionPane;; // program uses class Scanner

public class HeartRateCalculator 
{
	private String name; 
	private int year;  

	public HeartRateCalculator(String name,int year) 
	{
	   this.name = name; 

	   if (year > 1916 && year<2016) 
	      this.year = year; 
	   else 
		   this.year = 1980; 
	}
	
	public int getage()
	{
	   return 2016-year; 
	} 
	
	public int getMaxHeartRate()
	{
	   return 220-getage(); 
	} 
	
	public String getTargetHeartRate()
	{
	   return String.format("%d 到 %d", (int)(getMaxHeartRate()*0.5),(int)(getMaxHeartRate()*0.85)); 
	} 
	
	public static void main(String[] args)
	{
	
	 String name=JOptionPane.showInputDialog("请输入您的名字:");
	 int year=Integer.parseInt(JOptionPane.showInputDialog("请输入您的出生年份:")); 
	 
	 HeartRates heartRates=new HeartRates(name,year,10,20);
	 
	 int age=heartRates.getage();
	 System.out.println(age);
	 int maxHeartRate=heartRates.getMaxHeartRate();
	 System.out.println(maxHeartRate);
	 String targetHeartRate=heartRates.getTargetHeartRate();
	 System.out.println(targetHeartRate);
	 
	 String message=String.format("%s,你好!\n您的年龄为:%d岁\n您锻炼时最高心率不能超过%d次/秒\n您锻炼时的理想心率(次/秒)为:%s",name,age,maxHeartRate,targetHeartRate);
	 JOptionPane.showMessageDialog(null, message);
	
	}
}

运行截屏如下:



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值