一元二次方程的实现

  学习了一段时间的java 老师发布了一道数学题如何通过java实现一元二次方程。
   在写代码之前我们要有一个大概的思维,就是这个程序应该怎么写,相信大家都会解答,那么直入主题。
   一元二次方程的结果就那么几种,一个解   2个解  以及无解
   △的计算就是b²-4ac
   而一元二次方程的解答就是-b±根号△/2a
package cn.incast.chapter01;

import java.util.Scanner;

public class EquatIon {

	public static void main(String[] args) {
		double x1;
		double x2;
		int a;
		int b;
		int c;

		System.out.println("求一元二次方程ax²+bx+c=0");
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入a的值");
		a = sc.nextInt();
		System.out.println("请输入b的值");
		b = sc.nextInt();
		System.out.println("请输入c的值");
		c = sc.nextInt();
		double delta = b * b - 4 * a * c;
		x1 = (-b + Math.sqrt(delta)) / 2 * a;
		x2 = (-b - Math.sqrt(delta)) / 2 * a;
			//判断delta的值
		if (delta == 0) {
			// △等于0时,方程只有一个解
			System.out.println("此方程有两个相同的解");
			System.out.println("x1=x2=" + x1);
		}

		else if (delta > 0) {
			// △>0时,方程有两个解
			// x1=(-b+sqrt(b*b-4*a*c))/2a
			// x2=(-b-sqrt(b*b-4*a*c))/2a
			System.out.println("此方程有两个解");
			System.out.println("x1=" + x1);
			System.out.println("x2=" + x2);
		} else
			System.out.println("此方程无解");

	}

}


上一篇:【行人惯性导航】关于行人导航中IMU位姿推导的知识点及相关代码


下一篇:微积分(A)随缘一题[10]