解法一
注意substring和indexOf等方法的使用。
class Solution {
public String complexNumberMultiply(String a, String b) {
ComplexNumber c1 = new ComplexNumber(a);
ComplexNumber c2 = new ComplexNumber(b);
return c1.multiply(c2).toString();
}
}
class ComplexNumber {
public Integer realPart;
public Integer imaginaryPart;
public ComplexNumber(Integer realPart, Integer imaginaryPart) {
this.realPart = realPart;
this.imaginaryPart = imaginaryPart;
}
public ComplexNumber(String s) {
int pos1 = s.indexOf('+');
int pos2 = s.indexOf('i');
realPart = Integer.parseInt(s.substring(0, pos1));
imaginaryPart = Integer.parseInt(s.substring(pos1 + 1, pos2));
}
public ComplexNumber multiply(ComplexNumber c) {
return new ComplexNumber(
realPart * c.realPart - imaginaryPart * c.imaginaryPart,
realPart * c.imaginaryPart + imaginaryPart * c.realPart);
}
@Override
public String toString() {
return realPart.toString() + "+" + imaginaryPart.toString() + "i";
}
}