x*x + 3*x - 4 = 0用Java写
时间: 2024-06-06 07:07:00 浏览: 13
double x = 0;
double a = 1;
double b = 3;
double c = -4;
double discriminant = b*b - 4*a*c;
if (discriminant >= 0) {
double sqrtDiscriminant = Math.sqrt(discriminant);
x = (-b + sqrtDiscriminant) / (2*a);
System.out.println("x = " + x);
x = (-b - sqrtDiscriminant) / (2*a);
System.out.println("x = " + x);
} else {
System.out.println("No real roots");
}
相关问题
使用牛顿迭代法求方程2*x*x*x-4*x*x+3*x-6在1.5附近的根。 java
好的,我知道了,针对你的问题,可以使用牛顿迭代法进行求解。具体的实现逻辑如下所示:
首先,我们需要求出函数的一阶导数和二阶导数,即:
f'(x) = 6*x*x - 8*x + 3;
f''(x) = 12*x - 8。
然后,选择一个初始值 x0,假设根为 x*,并进行迭代计算,迭代公式为:
x(n+1) = x(n) - f'(x(n)) / f''(x(n))。
当迭代的结果满足一定的精度要求时,即可认为求出了该方程在1.5附近的根。
以下是具体的 Java 代码实现:
public class NewtonIteration {
public static void main(String[] args) {
double x0 = 1.5;
double eps = 1e-9;
double x = x0;
double fx = 2 * x * x * x - 4 * x * x + 3 * x - 6;
double dfx = 6 * x * x - 8 * x + 3;
double d2fx = 12 * x - 8;
while (Math.abs(fx) > eps) {
x -= dfx / d2fx;
fx = 2 * x * x * x - 4 * x * x + 3 * x - 6;
dfx = 6 * x * x - 8 * x + 3;
d2fx = 12 * x - 8;
}
System.out.println("The root near 1.5 is " + x);
}
}
这样,你就可以使用牛顿迭代法求出方程2*x*x*x-4*x*x+3*x-6在1.5附近的根了。
java实现计算表达式 x*x*x+2*x+5
我可以回答这个问题。Java实现计算表达式 x*x*x + 2*x + 5 的代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入x的值:");
double x = scanner.nextDouble();
double result = x * x * x + 2 * x + 5;
System.out.println("计算结果为:" + result);
}
}
```
你可以输入不同的x值来计算不同的结果。