【发布时间】:2014-03-10 23:40:57
【问题描述】:
我正在尝试在 java 中获取多项式的指数。
我在这里找到了类似的东西 How to extract polynomial coefficients in java? 但我似乎无法根据需要修改 .split() 方法的参数。
我试过了:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s1 = new String();
System.out.println("Enter a polynome:");
s1 = scanner.nextLine();
scanner.close();
String[] Exponents = s1.split("\\-?\\+?\\dx\\^");
for (String exponent : Exponents) {
System.out.println("Exponents:");
System.out.println(exponent);
}
对于输入:-2x^2+3x^1+6 输出是:
指数:
指数: 2
指数: 1+6
感谢您的帮助,
【问题讨论】:
-
你能显示你想提取其系数的多项式吗?示例通常会有所帮助。显示您所做的任何尝试也是如此。
-
.split是一个生硬的工具,可能不足以用于此用途。试试正则表达式。 -
或手写逻辑扫描字符串搜索 ^ 并提取紧随其后的数字。或者,针对您当前的问题,实现一个递归下降表达式解析器,它能够处理诸如 x^(y+2) 之类的事情......