获取复数并且进行运算

主类

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;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_41878312/article/details/85220545