国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java Swing實現簡單的體重指數(BMI)計算器功能示例

2024-07-13 10:14:35
字體:
來源:轉載
供稿:網友

本文實例講述了Java Swing實現簡單的體重指數(BMI)計算器功能。分享給大家供大家參考,具體如下:

BMI,Body Mass Index,身體質量指數,是用體重公斤數 除以 身高米數平方得出的,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個標準。

而本文通過運用Java Swing實現了一個簡單的BMI計算器。雖然現在網頁上也有相應的網頁應用,但是能夠做出這個計算器來,還是有點成就感的,希望自己以后做出更多比這個好的應用。

最終運行效果:

Java,Swing,體重指數,BMI,計算器

功能:可以選擇三個標準:中國、亞洲、WHO,計算結果稍有不同

計算公式:BMI = weight / (height*height)   即 體重公斤數 除以 身高米數平方

package WeightIndex;import javax.swing.*;import javax.swing.border.EmptyBorder;import java.awt.*;import java.awt.event.*;import java.text.DecimalFormat;import java.util.regex.*;public class WeightIndex extends JFrame { /**  *  */ private static final long serialVersionUID = 1L; private JPanel contentPane; private JLabel titleLabel; private JPanel contentPanel; private JButton submitButton; private ButtonGroup bg; private JPanel sexPanel; private JRadioButton ChinaRadio; private JRadioButton AsiaRadio; private JRadioButton WHORadio; private JPanel whPanel; private JLabel heightLabel; private JLabel weightLabel; private JTextField heightText; private JTextField weightText; private JPanel consolePanel; private JLabel consoleLabel; private JTextField consoleText; private double weight; private double height; private double BMI; /**  * Launch the application.  */ public static void main(String[] args) {  EventQueue.invokeLater(new Runnable() {   public void run() {    try {     WeightIndex frame = new WeightIndex();     frame.pack();     frame.setVisible(true);    } catch (Exception e) {     e.printStackTrace();    }   }  }); } /**  * Create the frame.  */ public WeightIndex() {  setTitle("VeVb武林網 - 身高體重指數計算器v1.0");  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  setBounds(100, 100, 450, 300);  //主容器  contentPane = new JPanel();  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));  contentPane.setLayout(new BorderLayout(0, 0));  setContentPane(contentPane);  //標題,主容器北  titleLabel = new JLabel("身高體重指數計算器");  titleLabel.setHorizontalAlignment(SwingConstants.CENTER);  contentPane.add(titleLabel, BorderLayout.NORTH);  //存放選項的panel,主容器中  contentPanel = new JPanel();  contentPanel.setLayout(new BorderLayout());  contentPane.add(contentPanel,BorderLayout.CENTER);  //提交按鈕,主容器南  submitButton = new JButton("計算");  contentPane.add(submitButton, BorderLayout.SOUTH);  //存放性別選擇的panel,選項北  bg = new ButtonGroup();  sexPanel = new JPanel();  sexPanel.setLayout(new FlowLayout());  contentPanel.add(sexPanel,BorderLayout.NORTH);  ChinaRadio = new JRadioButton("中國標準");  ChinaRadio.setSelected(true);  AsiaRadio = new JRadioButton("亞洲標準");  WHORadio = new JRadioButton("WHO(世界衛生組織)標準");  bg.add(ChinaRadio);  bg.add(AsiaRadio);  bg.add(WHORadio);  sexPanel.add(ChinaRadio);  sexPanel.add(AsiaRadio);  sexPanel.add(WHORadio);  //存放身高體重的panel,選項中  whPanel = new JPanel();  whPanel.setLayout(new FlowLayout());  contentPanel.add(whPanel,BorderLayout.CENTER);  heightLabel = new JLabel("身高(米/m):");  weightLabel = new JLabel("體重(千克/kg):");  heightText = new JTextField(10);  heightText.setToolTipText("請輸入身高");  weightText = new JTextField(10);  weightText.setToolTipText("請輸入體重");  whPanel.add(heightLabel);  whPanel.add(heightText);  whPanel.add(weightLabel);  whPanel.add(weightText);  //結果  consolePanel = new JPanel();  consolePanel.setLayout(new FlowLayout());  consoleLabel = new JLabel("你的身體質量指數為:");  consoleText = new JTextField(28);  consoleText.setEditable(false);  consolePanel.add(consoleLabel);  consolePanel.add(consoleText);  contentPanel.add(consolePanel,BorderLayout.SOUTH);  submitButton.addActionListener(new ActionListener(){   public void actionPerformed(ActionEvent e) {    String hstr = heightText.getText();    String wstr = weightText.getText();    Pattern pattern = Pattern.compile("^[0-9]+(.[0-9]+)?$");    Matcher hisNum = pattern.matcher(hstr);    Matcher wisNum = pattern.matcher(wstr);    boolean acc = true;    if( !hisNum.matches()|| !wisNum.matches()){      acc = false;    }    if(acc)    {     height = Double.parseDouble(hstr);     weight = Double.parseDouble(wstr);     BMI = weight / (height*height);     DecimalFormat df = new DecimalFormat("#.0");     String out = "";     if(ChinaRadio.isSelected())     {      if(BMI<18.5)       out = "偏瘦,瘦骨嶙峋的,多吃點吧!";      else if(BMI<23.9)       out = "正常,棒棒噠!";      else if(BMI<28)       out = "偏胖,你胖你就運動減肥!";      else if(BMI>=28)       out = "肥胖,現在減肥來的及!";      else       out ="外星人派來的你哦,請重新輸入!";     }     else if(AsiaRadio.isSelected())     {      if(BMI<18.5)       out = "偏瘦,瘦骨嶙峋的,多吃點吧!";      else if(BMI<22.9)       out = "正常,棒棒噠!";      else if(BMI<24.9)       out = "偏胖,你胖你就運動減肥!";      else if(BMI<30)       out = "肥胖,現在減肥來的及!";      else if(BMI>=30)       out = "重度肥胖,不是一般人,趕緊減肥吧!";      else       out ="外星人派來的你哦,請重新輸入!";     }     else     {      if(BMI<18.5)       out = "偏瘦,瘦骨嶙峋的,多吃點吧!";      else if(BMI<24.9)       out = "正常,棒棒噠!";      else if(BMI<29.9)       out = "偏胖,你胖你就運動減肥!";      else if(BMI<34.9)       out = "肥胖,現在減肥來的及!";      else if(BMI<39.9)       out = "重度肥胖,不是一般人,趕緊減肥吧!";      else if(BMI>=40)       out = "極重度肥胖,那可能得去醫院看看咯!";      else       out ="外星人派來的你哦,請重新輸入!";     }     consoleText.setText("你的指數為:"+df.format(BMI)+",你的健康狀況為:"+out);    }   }  }); }}

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民勤县| 兰考县| 中方县| 湛江市| 南充市| 屯留县| 朝阳县| 招远市| 三江| 临湘市| 丹江口市| 晴隆县| 彭州市| 龙里县| 龙海市| 和政县| 阜宁县| 会泽县| 隆德县| 茌平县| 六盘水市| 宁化县| 舞阳县| 思茅市| 莱州市| 堆龙德庆县| 贡山| 富民县| 达尔| 天台县| 辽阳县| 章丘市| 兴城市| 新巴尔虎右旗| 久治县| 高陵县| 内乡县| 渭源县| 宁国市| 栖霞市| 连城县|