《使用Java实现一元二次方程求根计算器》改进版

《使用Java实现一元二次方程求根计算器》改进版

1、任务简介

我在2018年5月21日写过一篇文章《使用Java实现一元二次方程求根计算器》,但是该计算器对于一元二次方程的计算只局限于整型变量,对于带有小数的一元二次方程就无计可施了,所以今天就对它进行改进。


2、程序代码

1)改进方法

在5月21日的程序中,我对于用户输入信息的语句为 int a=in.nextInt();所以造成了只能对参数为整数的一元二次方程进行计算,在这里我将这条语句改为double a=in.nextDouble();就实现了对于参数为小数的一元二次方程的计算,除此之外还还可以定义死循环在不重新运行程序的情况下实现对多个方程的计算;

2)代码

关于该程序的代码如下:

//编写程序求ax^2+bx+c=0的根
import java.util.Scanner;//导入java.util包下的scanner类
public class Getroot {//类名
    public static void main(String[] args) {//程序主函数
        while(true){//定义死循环
        System.out.print("求ax^2+bx+c=0的根"+"\n");//信息提示
        Scanner in=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
        System.out.print("请输入a的值:");//输出
        double a=in.nextDouble();//用户可自行定义a的值
        System.out.print("请输入b的值:");//输出
        double b=in.nextDouble();//用户可自行定义b的值
        System.out.print("请输入c的值:");//输出
        double c=in.nextDouble();//用户可自行定义c的值
        double x1=((-b+Math.sqrt(b*b-4*a*c))/(2*a));//运用求根公式,并且Math.sqrt()为开平方根
        double x2=((-b-Math.sqrt(b*b-4*a*c))/(2*a));//运用求根公式,并且Math.sqrt()为开平方根
        System.out.print("x1="+x1+"\n"+"x2="+x2+"\n");//输出两个根的结果
        System.out.println("  ");//格式调整
        }
    }
}

3)运行结果

具体结果可以自行复制代码使用,我就只截一张静态图了,如下:
这里写图片描述


3、结语

很长一段时间没有更新博客了,在对工程训练任务进行重新学习时发现本程序可以改进,所以将改进版分享给大家。

猜你喜欢

转载自blog.csdn.net/lsylsy726/article/details/81982317