我正在研究一個線性系統求解器,我希望用戶能夠一次輸入整個方程來反對分別輸入每個數字。如何拆分2部分的字符串?
我試圖在「+」和「=」(方程式格式是(ax + by = c))上拆分字符串,但它將加號後的第二部分拆分爲「by = c」不僅僅是「通過」。
這裏是我的代碼:
System.out.print("Enter Your First Equation (ax + by = c): ");
String eq1 = sc.nextLine();
String[] part = eq1.split("\\+");
String[] part2 = eq1.split("\\=");
String result = part[0];
String result2 = part[1];
String result3 = part2[1];
double a1 = Double.parseDouble(result);
double b1 = Double.parseDouble(result2);
double c1 = Double.parseDouble(result3);
System.out.print("Enter Your Second Equation (ax + by = c): ");
String eq2 = sc.nextLine();
String[] part3 = eq1.split("\\+");
String[] part4 = eq1.split("\\=");
String result4 = part3[0];
String result5 = part3[1];
String result6 = part4[1];
double a2 = Double.parseDouble(result4);
double b2 = Double.parseDouble(result5);
double c2 = Double.parseDouble(result6);
System.out.println("Your Equations Are (1) " + a1 + "x + " + b1 + "y = " + c1);
System.out.println(" (2) " + a2 + "x + " + b2 + "y = " + c2);
[Java:use split()with multiple delimiters](http:// stackoverflow.com/questions/5993779/java-use-split-with-multiple-delimiters) – nbrooks
當您不關心分隔符的確切形式時,'split'可以根據分隔符分割字符串。在這裏,你很在乎,因爲我假設你會不同地對待'+'和'='。使用一個循環,你用正則表達式從字符串中解析下一個記號會更好。 「split」可能不是這份工作的正確工具。 – ajb
但是,如果在'='右邊沒有任何操作符,那麼您可以通過在'='_first_上分割'拆分',然後拆分_only第一個元素_(左邊的部分''''在'+'上。但我必須問:你打算如何處理負面係數?我們是否必須輸入'2x + -3y = 7'?呸。 – ajb