三角形周长和面积

来源:互联网 发布:mac 源代码管理工具 编辑:程序博客网 时间:2024/04/30 13:47

输入任意三条边,判断能不能构成一个三角形,如果可以构成三角形,求出它的周长和面积。

package 三角形;import java.awt.*;import java.awt.event.*;import java.text.*;import javax.swing.*;public class Triangle {JFrame jframe;JPanel jp1,jp2,jp3,jp4,jp5;JLabel jl1,jl2,jl3,jl4;JButton jbtn1,jbtn2,jbtn3;JTextField jt1,jt2,jt3,jt4,jt5;Box b1;public void go(){jl1 = new JLabel("Triangle’s girth and area(三角形周长和面积)");jl2 = new JLabel("请输入三角形的三条边:");jl3 = new JLabel("此三角形的周长为:");jl4 = new JLabel("此三角形的面积为:");jl1.setFont(new Font("Dialog",Font.PLAIN,25));jl2.setFont(new Font("Dialog",Font.PLAIN,18));jl3.setFont(new Font("Dialog",Font.PLAIN,18));jl4.setFont(new Font("Dialog",Font.PLAIN,18));jt1 = new JTextField(8);jt2 = new JTextField(8);jt3 = new JTextField(8);jt4 = new JTextField(8);jt5 = new JTextField(8);jt4.setEditable(false);jt4.setBackground(Color.CYAN);jt5.setEditable(false);jt5.setBackground(Color.CYAN);b1 = Box.createHorizontalBox();jbtn1 = new JButton(" 求  解 ",new ImageIcon("1.png"));b1.add(jbtn1);b1.add(Box.createHorizontalStrut(30));jbtn2 = new JButton(" 清  除 ",new ImageIcon("3.png"));b1.add(jbtn2);b1.add(Box.createHorizontalStrut(30));jbtn3 = new JButton(" 退  出 ",new ImageIcon("2.png"));b1.add(jbtn3);jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();jp4 = new JPanel();jp5 = new JPanel();jp1.setBackground(Color.WHITE);jp2.setBackground(Color.WHITE);jp3.setBackground(Color.WHITE);jp4.setBackground(Color.WHITE);jp1.add(jl1);jp2.add(jl2);jp2.add(jt1);jp2.add(jt2);jp2.add(jt3);jp3.add(jl3);jp3.add(jt4);jp4.add(jl4);jp4.add(jt5);jp5.add(b1);jframe = new JFrame("三角形周长和面积");jframe.setLayout(null);jp1.setBounds(0, 0, 600, 50);jp2.setBounds(0, 50, 600, 50);jp3.setBounds(0, 90, 600, 50);jp4.setBounds(0, 130, 600, 50);jp5.setBounds(0, 180, 600, 50);jframe.add(jp1);jframe.add(jp2);jframe.add(jp3);jframe.add(jp4);jframe.add(jp5);jframe.setSize(600, 250);jframe.setLocation(450, 200);jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jframe.setResizable(false);jframe.setVisible(true);/** * 退出按钮注册事件 */jbtn3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO 自动生成的方法存根System.exit(0);}});/** * 清除按钮注册事件 */jbtn2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根jt1.setText(null);jt2.setText(null);jt3.setText(null);jt4.setText(null);jt5.setText(null);}});/** * 求解按钮注册事件 */jbtn1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根if (jt1.getText().length() == 0 || jt2.getText().length() == 0 ||jt3.getText().length() == 0) {JOptionPane.showMessageDialog(jframe, "任意一条边不能为空,请输入三角形的三条边!  ","警告", JOptionPane.WARNING_MESSAGE);jt1.setText(null);jt2.setText(null);jt3.setText(null);}else{ /*把字符串转换成double型*/double a = Integer.parseInt(jt1.getText());double b = Integer.parseInt(jt2.getText());double c = Integer.parseInt(jt3.getText());if(a<=0 || b<=0 || c<=0){JOptionPane.showMessageDialog(jframe, "输入的边不能是负数或者0,请重新输入!  ","错误", JOptionPane.ERROR_MESSAGE);}else{if((a+b)>c && (a+c)>b && (b+c)>a){DecimalFormat df = new DecimalFormat("0.00");double girth =a+b+c;double p=(a+b+c)/2;double area = Math.sqrt(p*(p-a)*(p-b)*(p-c));    /*控制输入结果为小数点后面两位*/jt4.setText(df.format(girth));jt5.setText(df.format(area));}else{JOptionPane.showMessageDialog(jframe, "输入的三条边不能构成三角形,请重新输入!  ","错误", JOptionPane.ERROR_MESSAGE);}}  }}});}public static void main(String[] args) {// TODO 自动生成的方法存根Triangle T = new Triangle();T.go();}}


0 0
原创粉丝点击