I am trying to accept a string with any of the following variations into my method:
"11+6i"
"11-6i"
"-11-6i"
Using the code I have below, the first two work correctly but for some reason when the string contains two "-" characters I cannot seem to parse it correctly.
Is there anyway to modify my code for it to be able to parse "-11-6i" as well?
Here is my code thus far:
if (passedString.contains("+")) {
int i = passedString.indexOf("+");
int endIndex = passedString.indexOf("i");
String real = passedString.substring(0, i);
String imag = passedString.substring(i, endIndex);
MyDouble realNum = new MyDouble(Double.parseDouble(real));
MyDouble imagNum = new MyDouble(Double.parseDouble(imag));
cn = new ComplexNumber(realNum, imagNum);
} else {
int i = passedString.indexOf("-");
int endIndex = passedString.indexOf("i");
String real = passedString.substring(0, i);
String imag = passedString.substring(i, endIndex);
MyDouble realNum = new MyDouble(Double.parseDouble(real));
MyDouble imagNum = new MyDouble(Double.parseDouble(imag));
cn = new ComplexNumber(realNum, imagNum);
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…