|
論壇說明 | 標記討論區已讀 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-02-18, 05:27 AM | #1 |
榮譽會員
|
編寫一個GUI程序允許用戶輸入三個值作為三角形的三條邊
編寫一個GUI程序允許用戶輸入三個值作為三角形的三條邊,判斷能夠構成三角形,
/* 4.編寫一個GUI程序(或APPLET)。允許用戶輸入三個值作為三角形的三條邊,判斷能夠構成三角形,若能,再判斷是等邊?等腰?直角?並計算其面積。結果都要能在界面上顯示。 */ import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public class sj extends Applet implements ActionListener { Label num1=new Label(" 第一條邊: "); TextField b1=new TextField("第一條邊的值",10); Label num2=new Label(" 第二條邊: "); TextField b2=new TextField("第二條邊的值",10); Label num3=new Label(" 第三條邊: "); TextField b3=new TextField("第三條邊的值",10); Button maksj=new Button("三角判斷"); Button jsmj =new Button("三角面積"); int db1,db2,db3,flag,flag1; public void init() //啟始化,把基本元件加入Applet中 { add(num1); add(b1); add(num2); add(b2); add(num3); add(b3); add(maksj); add(jsmj); maksj.addActionListener(this); jsmj.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand()=="三角判斷") flag=1; if(e.getActionCommand()=="三角面積") flag1=1; repaint(); } public void paint (Graphics g) { double tmp[]=new double[3]; db1=Integer.parseInt(b1.getText()); db2=Integer.parseInt(b2.getText()); db3=Integer.parseInt(b3.getText()); tmp[0]=Math.pow(db1,2)+Math.pow(db2,2); tmp[1]=Math.pow(db1,2)+Math.pow(db3,2); tmp[2]=Math.pow(db2,2)+Math.pow(db3,2); if (flag==1) { g.drawString(" __________以下為三角形判斷結果訊息___________",120,90); if( (db1<db2+db3) && (db2<db1+db3) && (db3<db1+db2)) { g.drawString(" [X] 經過判斷這是一個三角形.",130,130); if(db1==db2 && db2==db3) g.drawString(" [X] 經過判斷這是一個等邊三角形.",130,150); else if(db1==db2 || db2==db3)g.drawString(" [X] 經過判斷這是一個等腰三角形.",130,150); else if(tmp[0]==Math.pow(db3,2) || tmp[1]==Math.pow(db2,2)|| tmp[2]==Math.pow(db1,2) ) g.drawString(" [X] 經過判斷這是一個直角三角形.",130,150); } else g.drawString(" [!] 經過判斷這不是一個三角形.",130,130); flag=0; } if(flag1==1) { tmp[0]=(db1+db2+db3)/2; tmp[1]=Math.sqrt(tmp[0]*(tmp[0]-db1)*(tmp[0]-db2)*(tmp[0]-db3)); g.drawString(" [X] 經過計算這個三角形面積:"+tmp[1],130,130); flag1=0; } } } |
__________________ |
|
送花文章: 3,
|