我正在尝试以我的格式读取多项式,该多项式会将常数和相同的变量加在一起,为此,我需要将常数和变量除“ x ^”之外,但是当我尝试使用.split()方法时根本不会拆分,只是将整个字符串放入数组的第一个单元格中。
// Splitting terms into constants and variables:
String splitTerms[][] = new String[terms.size()][2];
for (int i = 0; i < terms.size(); i++) {
String tempTerm = terms.get(i);
if (tempTerm.indexOf("x^") >= 0) {
// Here is where the problem occurs:
splitTerms[i] = tempTerm.split("x^");
}
else if (tempTerm.indexOf("x") >= 0) {
splitTerms[i][0] = tempTerm.substring(0, tempTerm.length()-1);
splitTerms[i][1] = "1";
}
else {
splitTerms[i][0] = tempTerm;
splitTerms[i][1] = "0";
}
}
如果有人知道为什么会发生这种情况或我要采取什么措施加以解决,我将非常感谢您的帮助!
最佳答案
split()
使用正则表达式,而^
是特殊字符,因此您需要转义^
:
tempTerm.split("x\\^");
对于
String
“ 2x ^ 2”,将输出:[2, 2]