Java实验(6) 二次方程类
来源:互联网 发布:统计局数据采集流程图 编辑:程序博客网 时间:2024/06/06 13:24
设计一个二次方程类QuadraticEquation,用于处理形如ax2 + bx + x = 0 (a≠0)的二次方程,成员如下:
私有成员a, b, c用于存储系数;
含三个参数的构造方法,用于传入a, b, c;
三个方法getA(), getB(), getC(),用于传出系数;
一个方法getDiscriminant()用于传出b2 - 4ac的值;
两个方法getRoot1()和getRoot2()用来返回方程的两个根。注意方程可能没有实根,所以返回值定义为String。
请提供一个测试类,测试上述所有方法。
<span style="font-family:Courier New;">import java.util.Scanner;class Equation{ private double a,b,c; Equation(double a1,double b1,double c1){ //构造方法 a=a1; b=b1; c=c1; } //传出系数a,b,c public double getA(){return a;} public double getB(){return b;} public double getC(){return c;} //传出b^2-4ac的值 public double getDiscriminant(){ return b*b-4*a*c; } //求两个根 private String getRoot1(){ String s=String.valueOf((-b+Math.sqrt(getDiscriminant()))/(2*a)); return s; } private String getRoot2(){ String s=String.valueOf((-b-Math.sqrt(getDiscriminant()))/(2*a)); return s; } //求解方程组 public void solveEq(){ if(getDiscriminant()<0){ //无解 System.out.println("方程无解!"); } else if(getDiscriminant()==0){ //只有一个解 System.out.println("x1=x2="+getRoot1()); } else{ //两个解 System.out.println("x1="+getRoot1()); System.out.println("x2="+getRoot2()); } }}public class QuadraticEquation { public static void main(String[] args) { Scanner input=new Scanner(System.in); double a=input.nextDouble(); double b=input.nextDouble(); double c=input.nextDouble(); Equation eq=new Equation(a,b,c); System.out.println("a="+eq.getA()); System.out.println("b="+eq.getB()); System.out.println("c="+eq.getC()); System.out.println("b^2-4*a*c="+eq.getDiscriminant()); eq.solveEq(); }}</span>
0 0
- Java实验(6) 二次方程类
- Java类求解一元二次方程的根
- 解一元二次方程上机实验
- Java--第13周实验--封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame
- 二次方程
- java 一元二次方程 异常处理
- Java 实验6 集合类
- 1192C语言实验——一元二次方程Ⅱ
- C语言实验——一元二次方程Ⅱ
- 【1192】C语言实验——一元二次方程Ⅱ
- C语言实验——一元二次方程Ⅱ
- Problem F: C语言实验——一元二次方程Ⅰ
- SDUT ACM C语言实验——一元二次方程Ⅱ
- C语言实验——一元二次方程Ⅱ
- C语言实验——一元二次方程Ⅰ
- C语言实验——一元二次方程Ⅰ
- C语言实验——一元二次方程Ⅰ (sdut oj)
- C语言实验——一元二次方程Ⅱ
- Oracle学习笔记一
- Android中的广播机制(一)----- 接收广播
- Java基础集合之Map的迭代的两种方式
- 常见错误jar包-1
- Kubernetes部署etcd集群-centos7(新-增加了红色部分的注意事项)
- Java实验(6) 二次方程类
- 2016.6.24笔记(3)-集合
- 通过VMware虚拟机在windows 10 上安装Linux Ubuntu
- Keep-Alive简介及在Tomcat中配置
- Android下opencv开发指导资料Introduction into Android Development
- 第十九篇【LOADRUNNER11的那些事儿】
- Elasticsearch+mysql 数据同步
- OSError: [Errno 13] Permission denied: '/home/git/gitosis'
- The State of Synchronization