gpt4 book ai didi

java - 二次方程求解器无法在 Java 中获得结果

转载 作者:行者123 更新时间:2023-11-29 10:00:36 25 4
gpt4 key购买 nike

我的代码本应求解二次方程,但结果产生了 NaN。

我已经四处寻找了 2 天,但找不到解决方案。任何和所有建议将不胜感激!

package quadratic;

import java.util.Scanner;

public class Formlua {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
System.out.println("enter value of A ");
double a = input.nextDouble();
System.out.println("enter value of B ");
double b = input.nextDouble();
System.out.println("enter value of C ");
double c = input.nextDouble();
double four = 4;
double square = Math.sqrt(b* b - 4 * a * c );

double root1 = (-b + square) / (2*a);

double root2 = (-b - square) / (2*a);
System.out.println("The answer is " + root1 + "and" + root2);

System.out.println("Do you want to continue? y/n");

String user = input.toString();
if(user.equalsIgnoreCase("y"));
}
}

最佳答案

这段代码:

Math.sqrt(b* b - 4 * a * c );

可能导致 NaN(“不是数字”)。

如果b* b - 4 * a * c的值为负数,则只有复数有解(double数据类型没有)

应该有一个条件

if (b* b - 4 * a * c<0) {
System.out.println("There is no solution in real numbers");
return;
}

关于java - 二次方程求解器无法在 Java 中获得结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31442882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com