物件導向設計原理期末考 102/6/11
1. 輸入二元檔(binary file): pdata2.txt
(a) pdata2.txt 的存放格式:(共有9筆資料)
· 會員代號(6個字元)
· 性別(1個字元) ,性別M:男生,性別F:女生
· 姓名(10個字元)
· 年齡(integer)
· 身高(double),單位為(英)吋
· 體重(double),單位為磅
(b) 輸入pdata.txt 檔的9筆資料,且從螢幕輸出
(c) 輸出格式:會員代號後為「性別」;M è「*」,Fè「」
會員代號* 姓名 年齡 身高(公尺) 體重(公斤) BMI值 體重狀態
………
體重1磅 = 0.454公斤 poundà KG
身高1(英)吋 = 2.54公分 inch à CM * CM/100à M
class BMI {
double toKg(double pound); // pound à kg
double toM(double inch); // feet à m
double getBMI(double m, double kg); // input height(m) & weight(kg) return BMI value
}
bmi < 18.5 體重過輕
18.5 £ bmi< 24 體重正常
24 £bmi< 27 體重過重
27 £bmi< 30 輕度肥胖
30 £bmi< 35 中度肥胖
bmi ³ 35 重度肥胖
import java.io.*; class ex0611i{ public static void main(String[] args) throws IOException { DataInputStream din= new DataInputStream ( new BufferedInputStream( new FileInputStream("pdata2.txt"))); char[] id= new char[6]; char[] name=new char[10]; int age; double hei,wei, bmi; char gender, star; for(int ii=0;ii<9;ii++){ for(int i=0;i<6;i++) id[i]=din.readChar(); String sid=new String(id); gender=din.readChar(); for(int i=0;i<10;i++) name[i]=din.readChar(); String sname=new String(name); age=din.readInt(); // age hei=din.readDouble(); // height wei=din.readDouble(); // weight if(gender=='M') star='*'; else star=' '; BMI obj=new BMI(); double m=obj.toM(hei); double kg=obj.toKg(wei); bmi=obj.getBMI(m,kg); String status; if(bmi<18.5) status="體重過輕"; else if(bmi<24) status="體重正常"; else if(bmi<27) status="體重過重"; else if(bmi<30) status="輕度肥胖"; else if(bmi<35) status="中度肥胖"; else status="重度肥胖"; System.out.println(" "+sid+star+" "+sname+" "+age+" "+m+" "+ kg+" "+bmi+" "+status); } din.close(); } }
沒有留言:
張貼留言