本文主要是介绍java实验:定义类和创建对象求解一元二次方程的根,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
内容要求:
一、实验目的
(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”;
代码片段如下:
public class QuadraticEquation {private double a;//a,b,c分别表示3个系数private double b;private double c;public QuadraticEquation(double n1, double n2, double n3) {//有参构造函数,初始化系数a,b,cthis.a = n1;this.b = n2;this.c = n3;}double getDiscriminant(){//返回一元二次方程的判别式的值return this.b*this.b-4*this.a*this.c;}double getRoot1(){//返回一元二次方程其中一个实根return (-this.b+Math.sqrt(this.b*this.b-4*this.a*this.c))/2*this.a;}double getRoot2(){//返回一元二次方程另一个个实根return (-this.b-Math.sqrt(this.b*this.b-4*this.a*this.c))/2*this.a;}
}
import java.util.Scanner;public class Main {public static void main(String[] args) {System.out.println("输入一元二次方程的3个系数:");//构建二元一次方程对象,输入系数double n1,n2,n3;Scanner sc=new Scanner(System.in);System.out.print("a = ");n1=sc.nextDouble();System.out.print("b = ");n2=sc.nextDouble();System.out.print("c = ");n3=sc.nextDouble();QuadraticEquation quadraticEquation=new QuadraticEquation(n1,n2,n3);if(quadraticEquation.getDiscriminant()<0)System.out.println("方程没有实根");//判断实根并输出else if(quadraticEquation.getDiscriminant()==0){System.out.println("方程有2个相等的实根,是:"+quadraticEquation.getRoot1());}else{System.out.println("方程有2个不等的实根,是:"+quadraticEquation.getRoot1()+"和"+quadraticEquation.getRoot2());}}
}
这篇关于java实验:定义类和创建对象求解一元二次方程的根的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!