前言
本文使用了Eclipse软件和简单的Java语言进行的程序设计
一、题目要求
使用Eclipse软件和Java语言设计出根据文本框输入的三条边进行①判断该三条边是否能够构成三角形并给出构成的三角形的类型。②如果能构建三角形则画出三角形的图形。
二、题目要求
使用简单的Java程序进行三角形的判断,使用Java Swing的知识进行绘制窗口的建立。
三、所使用到的知识:
窗口JFrame的常用方法、事件的处理ActionEvent事件、绘制图形的java.awt包。
四、实现代码如下
package xxx;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
class Windoww extends JFrame{//构建绘画窗口
private static final long serialVersionUID = 1L;
JTextField area1,area2,area3,result;//设置文本框
JButton button;//设置按钮
int xx,hh,aa;
public Windoww() {}//无参构造方法
public Windoww(String s,int x,int y,int w,int h) {//有参构造方法
init();//初始化
setTitle(s);//设置标题
setLocation(x,y);//设置初始位置
setSize(w,h);//设置宽度和高度
setVisible(true);//设置是否可见
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置关闭方式
}
void init() {
//图形界面的设置
setLayout(new FlowLayout());
add(new JLabel("边a:"));
area1=new JTextField(22);
add(area1);
add(new JLabel("边b:"));
area2=new JTextField(22);
add(area2);
add(new JLabel("边c:"));
area3=new JTextField(22);
add(area3);
add(new JLabel("结果:"));
result=new JTextField(22);
add(result);
add(new JLabel("按钮:"));
button=new JButton("确定");
add(button);
add(new JLabel("画布:"));
//添加监听器
MyActionListener listen=new MyActionListener();
button.addActionListener(listen);
}
class MyActionListener implements ActionListener{//做出反应
public void actionPerformed(ActionEvent e) {
double a=Double.parseDouble(area1.getText());//获取文本框里面的参数值
double b=Double.parseDouble(area2.getText());
double c=Double.parseDouble(area3.getText());
/*获取完三条边以后进行判断是否构成三角形以及三角形的类型*/
if(a<=0||b<=0||c<=0) {
result.setText("输入不合法");//给出结果的响应
}
if(a+b<=c||Math.abs(a-b)>=c) {
result.setText("不是三角形");
}
else {
if(a==b) {
if(a==c) {
result.setText("等边三角形");
}
else {
result.setText("等腰三角形");
}
}
else {
if(a==c) {
result.setText("等腰三角形");
}
else {
if(b==c) {
result.setText("等腰三角形");
}
else {
result.setText("普通三角形");
}
}
}
/*以三角形的一边为平行坐标轴,且此边的一端点作为原点(0,0),
* 边外一点的坐标为(x,h),此边的另一端点坐标为(a,0)*/
double x=(a*a+b*b-c*c)/(2*a);
double h=Math.sqrt(b*b-x*x);
xx=(int)x;//强制类型转换
hh=(int)h;
aa=(int)a;
Graphics g=getGraphics();//绘画的笔
g.setColor(Color.red);//设置画笔的颜色
/*为了彩图美观,将其移动到了以(150,350)为原点的坐标轴*/
g.drawLine(150, 350, aa+150, 350);//两点直接绘画直线
g.drawLine(150, 350, 150+xx, 350-hh);
g.drawLine(150+xx, 350-hh, aa+150, 350);
}
}
}
}
public class TriangleTest {
public static void main(String[] args) {
Windoww win = new Windoww("判别三角形",260,100,550,500);//main函数执行
}
}
五、实现结果
初始界面
不能构建三角形的三条边
等边三角形
等腰三角形
结束语
小白的第一篇文章就写到这里,希望能对读者们起到一定的作用。
如果存在错误欢迎在评论区指出,可以多多交流哇,大家一起进步,嘿嘿。