java为二次方程式ax^2+bx+c=0设计一个类

public class QuadraticEquationtest //测试类
{
public static void main(String[] args)
{
//三个a,b,c
Quadraticequation equation1=new Quadraticequation(1.0,3,1);
Quadraticequation.ret(equation1);
Quadraticequation equation2=new Quadraticequation(1,2.0,1);
Quadraticequation.ret(equation2);
Quadraticequation equation3=new Quadraticequation(1,2,3);
Quadraticequation.ret(equation3);
}
}
class Quadraticequation
{
private double a;
private double b;
private double c;
public Quadraticequation(double x,double y,double z)//构造一个有参方法
{
a=x;
b=y;
c=z;
}
public double getA()
{
return a;
}
public double getB()
{
return b;
}
public double getC()
{
return c;
}
public double getDiscriminant()
{
return b*b-4*a*c;
}
public double getRoot1()
{
return (-b+Math.sqrt(getDiscriminant()))/(2*a);
}
public double getRoot2()
{
return (-b-Math.sqrt(getDiscriminant()))/(2*a);
}
public static void ret(Quadraticequation equation)//ret方法,防止代码过多
{
double ret1=equation.getDiscriminant();
if(ret1>0)
{
System.out.println("The equation has two roots "+equation.getRoot1()+" and "+equation.getRoot2());
}
else if(ret1==0)
{
System.out.println("The equation has one roots "+equation.getRoot1());
}
else
{
System.out.println("The equation has no real roots");
}
}
}

原文地址:https://blog.51cto.com/14233078/2389430

时间: 2024-10-10 21:58:24

java为二次方程式ax^2+bx+c=0设计一个类的相关文章

用c语言求ax^2+bx+c=0方程的解

用c语言求ax^2+bx+c=0方程的解.#include <stdio.h>#include <math.h>#define m 0.000001int main(){     float a,b,c,x,x2,n,q,p;     scanf ("%f%f%f",&a,&b,&c);     n=b*b-4*a*c;     if ((a<m)&&(a>-m))     {         x=(-c)/b

【C语言】求方程ax^2+bx+c=0的根

//求方程ax^2+bx+c=0的根 #include <stdio.h> #include <math.h> int main() { float a,b,c,dis,x1,x2; printf("请输入a,b,c的值: "); scanf("%f %f %f",&a,&b,&c); dis=b*b-4*a*c; if(dis<0) { printf("该函数无实根.\n"); return

39.输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根?

//从这个小题中可以熟悉头文件#include<cmath>的使用 //1.题目较为简单,只需运用判断语句即可 //2.注意,声明变量时要想到根的无理性,同时需注意函数结果的强制类型转换,sqrt只支持double和float类型 #include<iostream> #include<cmath>//可以使用一些常用函数 using namespace std; int main() { int a,b,c,d; float x1,x2,x3; cout<<

求一元二次方程ax^2+bx+c=0的解

Console.WriteLine("求解方程ax^2+bx+c=0的解."); Console.WriteLine("请分别输入a,b,c的值(注意每输入一个值按一下回车):"); double a = double.Parse(Console.ReadLine()); double b = double.Parse(Console.ReadLine()); double c = double.Parse(Console.ReadLine()); double d

【c语言】求方程式 ax^2+bx+c=0 的根,分别考虑:1、有两个不等的实根 2、有两个相等的实根

// 求方程式 ax^2+bx+c=0 的根,分别考虑:1.有两个不等的实根 2.有两个相等的实根 #include <stdio.h> #include <math.h> int main() { int d; int a,b,c; double x,y; double f; printf("请输入a,b,c:"); scanf("%d%d%d",&a,&b,&c); d = b*b-4*a*c; f = sqrt(

python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解

请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b * b) - (4 * a * c))) / (2 * a)x2 = (-b - math.sqrt((b * b) - (4 * a * c))) / (2 * a) 计算平方根可以调用math.sqrt()函数 # -*- coding: utf-8 -*- # 请定义一个函数quadrati

ax^2+bx+c=0的根

#include <stdio.h>#include <math.h>int main(){ double a,b,c,disc,x1,x2,p,q; scanf("%lf%lf%lf",&a,&b,&c); disc=b*b-4*a*c; if(disc<0)  printf("This equation hasn't real roots\n"); else {  p=-b/(2.0*a);  q=sqrt(

求二元一次方程ax^2+bx+c=0的根

刚开始写的程序里还定义了x1,x2两个变量 后面发现根本不需要这两个变量 代码如下:

java中根据一元二次方程ax^2+bx+c=0ax 2 +bx+c=0的求根公式 计算出一元二次方程的两个解:

package com.itranswarp.learnjava; /** * 求解 一元二次方程ax^2+bx+c=0 */ public class Main { public static void main(String[] args) { // x*x + 3*x - 4 = 0 double a = 1.0; double b = 3.0; double c = -4.0; // 求平方根可用 Math.sqrt(): // double x = Math.sqrt(2)); //