【发布时间】:2015-04-18 16:51:57
【问题描述】:
问题:Java 程序从二次方程中拆分系数,例如 如果输入字符串是:
String str1;
str1 = "4x2-4x-42=0"
所以我需要从给定的输入字符串中拆分系数并得到输出
a = 4 b = -4 c = -42
我试过了:
String equation = "ax2+bx-c=0";
String[] parts = equation.split("\\+|-|=");
for (int i = 0; i < parts.length - 2; i++) {
String part = parts[i].toLowerCase();
System.out.println(part.substring(0, part.indexOf("x")));
}
System.out.println(parts[2]);
但我得到的输出是 23x2 和 4x 和 4。
实际需要的输出是23 ,- 4 , 4。
【问题讨论】:
-
所以输入的格式总是
+/-aX2+/-bX+/-c?听起来像是……正则表达式的工作。 -
是的。始终采用这种格式
-
你只需要系数吗?如果您以后也打算获得指数,我建议为您的表达式构建一个小型解析器。
-
我只需要系数。如果输入字符串是“4x2-4x-42=0”和“a=4 b=-4 c = -42”,这应该是输出