package exec;
import java.util.Scanner;
public class CKN {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String ch=input.next();
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
double d=input.nextDouble();
input.close();
String s = "";
if(ch.equals("+")) {
s+=String.format("%.2f",(a+c));
s+="+";
s+=String.format("%.2f",(b+d));
}
else if(ch.equals("-")) {
s+=String.format("%.2f",(a-c));
s+="+";
s+=String.format("%.2f",(b-d));
}
else if(ch.equals("*")) {
s+=String.format("%.2f",(a*c-b*d));
s+="+";
s+=String.format("%.2f",(b*c+a*d));
}
else if(ch.equals("/")) {
s+=String.format("%.2f",(a*c+b*d)/(c*c+d*d));
s+="+";
s+=String.format("%.2f",(b*c-a*d)/(c*c+d*d));
}
s+="i";
System.out.println(s);
}
}
题目中意思是,复数1为a+bi,复数2为c+di,通过前边输入的运算符,对这两个复数进行运算,输出结果也是个复数:
1.结果要求保留两位小数,因为我这里是拼接字符串的形式,所以要求数字的位数必须真正改变的,以往用%.2f只是在输出上显示两位,所以用String.format("%.2f",变量);可以控制格式,然后再赋值给一个变量即可;
2.再就是复数对乘法和除法的运算:
(1)乘:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i;
(2)除:(a+bi)/(c+di)=[(ac+bd)+(bc-ad)i]/(c*c+d*d);