2011年3月26日
<Java> JVA305-理想體重計算
import java.awt.*;
import java.awt.event.*;
public class JVA305 extends Frame
{
public JVA305() { super("理想體重計算"); }
//輸入身高的元件
Panel pl1 = new Panel();
Label l1 = new Label("請輸入身高");
TextField tf1 = new TextField(2);
//輸入體重的元件
Panel pl2 = new Panel();
Label l2 = new Label("請輸入體重");
TextField tf2 = new TextField(2);
//選擇性別的元件
Panel pl3 = new Panel();
Label l3 = new Label("請選擇性別");
CheckboxGroup ckg = new CheckboxGroup();
Checkbox ck1 = new Checkbox("男性",ckg,true);
Checkbox ck2 = new Checkbox("女性",ckg,true);
//顯示訊息區
Panel pl4 = new Panel();
Label l4 = new Label("歡迎使用",Label.CENTER);
Label l5 = new Label(" ",Label.CENTER);
//按鈕區
Panel pl5 = new Panel();
Button b1 = new Button("確定");
Button b2 = new Button("離開");
public static void main(String[] args)
{
JVA305 jv03 = new JVA305();
jv03.go();
}
/*
* 建立畫面的 method
*/
public void go()
{
/*
* 請自行完成建立畫面的程式碼
*/
pl1.add(l1);
pl1.add(tf1);
pl2.add(l2);
pl2.add(tf2);
pl3.add(l3);
pl3.add(ck1);
pl3.add(ck2);
pl4.add(l4);
pl4.add(l5);
pl5.add(b1);
pl5.add(b2);
Panel cp = new Panel();
cp.setLayout(new GridLayout(6,1));
cp.add(pl1);
cp.add(pl2);
cp.add(pl3);
cp.add(l4);
cp.add(l5);
cp.add(pl5);
add(cp);
setSize(250,200);
setVisible(true);
addWindowListener(new WinListener());
b1.addActionListener(new act());
b2.addActionListener(new act());
}
//建立一個 ActionListener 的 inner class
class act implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == b2)
{
System.exit(0);
}
else if(e.getSource() == b1)
{
float nh = 0; //現在身高
float nw = 0; //現在體重
float iw = 0; //理想體重
/*
* 請自行完成建立畫面的程式碼
*/
boolean check = true;
try{
nh = Float.parseFloat(tf1.getText());
if( (nh < 110)||( nh > 210) ){
throw new Exception();
}
}catch(Exception et){
l4.setText("身高不正確,成人應介於110至210之間");
l5.setText("");
check = false;
}
try{
nw = Float.parseFloat(tf2.getText());
if( (nw < 25)||( nw > 200) ){
throw new Exception();
}
}catch(Exception et){
l4.setText("體重不正確,成人應介於25至200之間");
l5.setText("");
check = false;
}
if(check){
if( ck1.getState() ){
iw = (nh-80)*0.7f;
l4.setText("你的理想體重為"+ iw + "公斤");
if( (nw-iw) > (iw*0.1f) ){
l5.setText("你稍微胖了些,請少飲酒少應酬");
}else if( (iw-nw) > (iw*0.1f) ){
l5.setText("你稍微瘦了些,請多補充些營養");
}else{
l5.setText("你的體態控制的不錯");
}
}else if( ck2.getState() ){
iw = (nh-70)*0.6f;
l4.setText("妳的理想體重為"+ iw + "公斤");
if( (nw-iw) > (iw*0.1f) ){
l5.setText("妳稍微胖了些,請節制飲食多做運動");
}else if( (iw-nw) > (iw*0.1f) ){
l5.setText("妳稍微瘦了些,請多補充些營養");
}else{
l5.setText("妳的身材維持得很好");
}
}
}
}
}
}
//讓視窗可以正常關閉
class WinListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
e.getWindow().dispose();
System.exit(0);
}
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言