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