gpt4 book ai didi

java - 将二次方程解析为命令行输入

转载 作者:行者123 更新时间:2023-11-30 08:56:48 26 4
gpt4 key购买 nike

目标是创建一个程序,以二次形式求解二次方程。除了 StringTokenizer 之外,还有其他方法可以做到这一点吗?或者是否可以在 StringTokenizer 中仅隔离 ^2 而不是像现在这样隔离 ^ 和 2?我意识到使用我编写的方式,它根本不允许方程使用 2。

这道题要求我不要取个别系数,而是取整个方程本身。

示例运行:“java SolveEquation2 1.5625x∧2+2.5x+1=0”。对于这个输入,输出应该是:”x=-0.8”

import java.util.Scanner;
import java.util.StringTokenizer;
class SolveEquation2 {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
System.out.print("Input a quadratic");
String equation = scan.nextLine();

StringTokenizer st = new StringTokenizer(equation, "x^2+-");



String a,b,c;

a = st.nextToken();
b = st.nextToken();
c = st.nextToken();

double a1 = Double.parseDouble(a);
double b1 = Double.parseDouble(b);
double c1 = Double.parseDouble(c);


double x = (b1 * b1) - (4 * a1 * c1);

double var1 = (-b1 + Math.sqrt(x)) / (2*a1);
double var2 = (-b1 - Math.sqrt(x)) / (2*a1);

if (x == 0){
System.out.println("x = " + var1);

}
if (x > 0){
System.out.println("x1 = " + var1);
System.out.println("x2 = " + var2);
}
if (x < 0){
System.out.println("No Solution");


}
}
}

最佳答案

您想使用正则表达式来解析命令行输入。看来您尝试做的事情以前已经做过很多次了。

See here

关于java - 将二次方程解析为命令行输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28458896/

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