《一元二次方程求解窗口——Java第十三周》
2012-11-27 20:50
225 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《一元二次方程求解窗口——Java第十三周》
* 作 者: 刘江波
* 完成日期: 2012 年 11 月 20 日
* 版 本 号: v2.2
* 对任务及求解方法的描述部分
* 问题描述:
封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框用来显示生更新方程对象的系数,文本区用来显示方程的根。窗口中有一个按钮,用户单击按钮后,程序用文本框中的数据修改方程的系数,并将方程的根显示在文本区中。最后编写
一个程序执行入口进行测试。如下图所示。
* 程序头部的注释结束
*/
SquareEquation类
EquationFrame类
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《一元二次方程求解窗口——Java第十三周》
* 作 者: 刘江波
* 完成日期: 2012 年 11 月 20 日
* 版 本 号: v2.2
* 对任务及求解方法的描述部分
* 问题描述:
封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框用来显示生更新方程对象的系数,文本区用来显示方程的根。窗口中有一个按钮,用户单击按钮后,程序用文本框中的数据修改方程的系数,并将方程的根显示在文本区中。最后编写
一个程序执行入口进行测试。如下图所示。
* 程序头部的注释结束
*/
SquareEquation类
package week13; public class SquareEquation { double d1,d2,d3,g1,g2; String string; SquareEquation(double d1,double d2,double d3){ this.d1 = d1; this.d2 = d2; this.d3 = d3; } public double getD1() { return d1; } public void setD1(double d1) { this.d1 = d1; } public double getD2() { return d2; } public void setD2(double d2) { this.d2 = d2; } public double getD3() { return d3; } public void setD3(double d3) { this.d3 = d3; } public double getG1() { return g1; } public void setG1(double g1) { this.g1 = g1; } public double getG2() { return g2; } public void setG2(double g2) { this.g2 = g2; } public void getResult ()throws Exception { double s = d2*d2 - 4*d1*d3; if(s < 0) { string = "此一元二次方程无解"; // Exception e = new Exception("运算无实根"); // throw e; } else if(s == 0) { g1 = -d2/(2*d1); string = "一元二次方程两根相同,根为:"+ g1; } else { g1 =(-d2 + Math.sqrt(s))/(2*d1); g2 =(-d2 - Math.sqrt(s))/(2*d1); string = "一元二次方程两根不相同,根1为:" + g1 + "根2为:" + g2; } } }
EquationFrame类
package week13; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class EquationFrame extends JFrame implements ActionListener { public Panel panel; public TextField in1,in2,in3; public Button b; public Label l1,l2,l3; public TextArea t1; public EquationFrame() { panel = new Panel(new FlowLayout());//设置画布布局 in1 = new TextField(7); in2 = new TextField(7); in3 = new TextField(7); l1 = new Label("二次项系数:"); l2 = new Label("一次项系数:"); l3 = new Label("常数项系数:"); b = new Button("确 定"); b.addActionListener(this);//将窗口作为Button的监视器 t1 = new TextArea(); panel.add(l1); panel.add(in1); panel.add(l2); panel.add(in2); panel.add(l3); panel.add(in3); panel.add(b); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLayout(new BorderLayout());//设置窗体布局 this.add(panel, BorderLayout.NORTH); this.add(t1,BorderLayout.CENTER); this.setBounds(200, 300, 600, 150); this.setVisible(true);//设置窗口可见 this.setTitle("一元二次方程求解"); //this.setFont(new Font("宋体",Font.PLAIN,20)); t1.setFont(new Font("宋体",Font.PLAIN,16)); panel.setFont(new Font("宋体",Font.PLAIN,12)); } //处理事件的接口 public void actionPerformed(ActionEvent e) { SquareEquation square = new SquareEquation(Double.valueOf(this.in1.getText()), Double.valueOf(this.in2.getText()),Double.valueOf(this.in3.getText())); try { square.getResult(); } catch(Exception e2) { t1.setText(e2.toString()); } t1.setText(square.string); } }
相关文章推荐
- java上机 第十三周 任务一 一元二次方程求解
- 关于一元二次方程求解问题(java)
- JAVA--第十三周任务一封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框
- Java捕获窗口状态事件
- 第十三周Java作业
- java 求解第n个丑数
- java中怎么获取一个窗口移动后的坐标
- java--第十周--任务二 编写一个JFrame,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行
- 挑战算法高手:一个Java算法问题求解
- 蚁群算法java实现以及TSP问题蚁群算法求解
- 利用JAVA制作简单登录窗口
- 初学java之窗口卖票
- java窗口实验 (1)
- JAVA打造透明效果的窗口
- JAVA学习笔记swing JFrame窗口学习
- 约瑟夫问题java求解
- 初学JAVA SWING关闭窗口时出现空指针
- 55.java编程思想——创建窗口和程序片 推荐编码方法
- Java实训——编写一个窗体程序,用于计算一元二次方程。
- 基于禁忌搜索算法求解TSP问题(JAVA)