本文主要是介绍SCAU Java 实验5 定义类和创建对象求解一元二次方程的根,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、实验目的
(1)理解对象和类,掌握用类创建对象模型。
(2)学习如何定义类和创建对象,理解对象引用变量的概念。
(3)理解构造方法的作用,并使用构造方法创建类的对象。
二、实验内容
按照如下步骤完成实验:
步骤1:创建一个Java Project,命名为:exp02
步骤2:按下列要求定义一个类表示一元二次方程
(1) 类名为:QuadraticEquation,放置在名exp02中;
(2) 类中定义3个double类型的数据域:a,b,c分别表示3个系数;
(3) 类中定义有参构造方法:QuadraticEquation(double n1, double n2, double n3),3个参数依次初始化系数a,b,c;
(4) 类中定义返回一元二次方程的判别式的值的方法:double getDiscriminant(),判断式如下:
(5) 类中定义两个求解一元二次方程两个实根的方法:double getRoot1()和double getRoot2(),分别计算2个实根:
步骤3:编写主类,类名为:Main,放置在名exp02中。主方法中实现如下功能:
(1) 输入一元二次方程的3个系数;
(2) 如果该方程无实根,则输出“方程没有实根”;
(3) 如果该方程有2个相等的实根,则输出“方程有2个相等的实根,是:xx.xx”;
(4) 如果该方程有2个不等的实根,则输出“方程有2个不等的实根,是:xx.xx和xx.xx”;
提交要求:包含源程序文件的JAR
主类
package exp;import java.util.Scanner;public class exp02 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("输入一元二次方程的3个系数:");double a=sc.nextDouble();double b=sc.nextDouble();double c=sc.nextDouble();QuadraticEquation qe=new QuadraticEquation();qe.QuadraticEquation(a,b,c);double flag=qe.getDiscriminant();if(flag<0){System.out.println("方程没有实根");}else if(flag==0){System.out.print("方程有2个相等的实根,是:");System.out.printf("%.2f",qe.getRoot1());}else if(flag>0){System.out.print("方程有2个不等的实根,是:");System.out.printf("%.2f",qe.getRoot1());System.out.print("和");System.out.printf("%.2f",qe.getRoot2());}}
}
QuadraticEquation类
package exp;public class QuadraticEquation {double a;double b;double c;//初始化系数a,b,cpublic void QuadraticEquation(double n1, double n2, double n3){a=n1;b=n2;c=n3;}//定义返回一元二次方程的判别式的值 b*b-4*a*cpublic double getDiscriminant(){return b*b-4*a*c;}//求解r1public double getRoot1(){double x=getDiscriminant();return (-b+Math.sqrt(x))/(2*a);}//求解r2public double getRoot2(){double x=getDiscriminant();return (-b-Math.sqrt(x))/(2*a);}
}
这篇关于SCAU Java 实验5 定义类和创建对象求解一元二次方程的根的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!