史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   編寫一個GUI程序允許用戶輸入三個值作為三角形的三條邊 (http://forum.slime.com.tw/thread168524.html)

psac 2006-02-18 05:27 AM

編寫一個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;
}


}



}


所有時間均為台北時間。現在的時間是 09:27 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1