查看單個文章
舊 2006-02-18, 05:27 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 編寫一個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;
}


}



}
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
回覆時引用此帖