java 求解一元二次方程ax2+bx+c=0的根,要求根据一元二次方程的判别式,分情况显示方程的根。

(1)思路
定义三个私有变量a,b,c;根据判别式j=bb-4a*c计算方程的解:若大于0,则有连个不同的实根,若是等于零则有两个相同的实根,若是小于零则无实根!
(2)代码实现

package p1;

public class Result {
	private double a;
	private double b;
	private double c;
	
	public void setNumber(double ... z) {
		a=z[0];
		b=z[1];
		c=z[2];	
	}
	
	public void judge() {
		double j=b*b-4*a*c;
		double k=Math.sqrt(j);
		if(j<0) {
			System.out.println("方程无实根!");
		}
		else if(j==0) {
			System.out.println("方程只有一个实根:"+(-1.0*b/2*a));
		}
		else if(j>0) {
			System.out.println("方程有两个不同的实根:");
			System.out.println((-1.0*b+k/2*a));
			System.out.println((-1.0*b-k/2*a));
		}
	}

}

package p1;
import java.util.Scanner;
public class Test_1 {
	public static void main(String args[]) {
		double x1,x2,x3;
		Scanner reader = new Scanner(System.in);
		System.out.println("请输入a,b,c的值:");
		x1=reader.nextDouble();
		x2=reader.nextDouble();
		x3=reader.nextDouble();
		Result R = new Result();
		R.setNumber(x1,x2,x3);
		R.judge();
	}

}

(3)运行结果截图

在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值