主类
public class Main {
public static void main(String[] args) {
Complex a,b;
String result;
getComplex GetComplex = new getComplex();
System.out.println("请输入第一个复数:");
a = GetComplex.Get();
System.out.println("请输入第二个复数");
b = GetComplex.Get();
result = a.complexAdd(b);
System.out.println("运算结果为:"+result);
}
}
复数Complex类
class Complex{
private int RealPart ;
private int ImaginPart;
Complex(){
RealPart = 0;
ImaginPart = 0;
}
Complex(int r,int i){
this.RealPart = r;
this.ImaginPart = i;
}
public int getRealPart(){
return RealPart;
}
public int getImaginPart() {
return ImaginPart;
}
public String complexAdd(Complex a){
String result;
int R,I;
R = this.RealPart + a.getRealPart();
I = this.ImaginPart + a.getImaginPart();
result = ToString(R,I);
return result;
}
private String ToString(int r,int i) {
String result = r + "+" + i+"i";
return result;
}
}
辅助类getComplex
class getComplex{
int numsIndex;
String NumsString;
String[] Nums;
public Complex Get() {
Scanner read = new Scanner(System.in);
NumsString = read.nextLine();
//trim()清除用户多输入的空格,确保程序的正常运行
NumsString = NumsString.trim();
Nums = NumsString.split("\\+");
numsIndex = 0;
//处理虚数部分,获取虚数部分数字
for(int i = 0;i < Nums[1].length();i++) {
char ch = Nums[1].charAt(i);
if(ch>=48 && ch<=57) {
numsIndex++;
}
}
Nums[1] = Nums[1].substring(0,numsIndex);
Complex temp = new Complex(Integer.parseInt(Nums[0]),Integer.parseInt(Nums[1]));
return temp;
}
}