后两个测试点会对百分位的数进行限制,如果不规定x,y的百分位,在格式化输出时会造成数据流失
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args)throws IOException{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String[] str=bf.readLine().split(" ");
double R1=Double.parseDouble(str[0]);
double P1=Double.parseDouble(str[1]);
double R2=Double.parseDouble(str[2]);
double P2=Double.parseDouble(str[3]);
//x+iy
double x=R1*R2*Math.cos(P1+P2);
double y=R1*R2*Math.sin(P1+P2);
//x
if (Math.abs(x) < 0.01) {
x = 0;//由于题目要求保留两位小数,如果算出来的结果的绝对值在0.01之内就应该被当作机器零
}
//y
if (Math.abs(y) < 0.01) {
y = 0;//由于题目要求保留两位小数,如果算出来的结果的绝对值在0.01之内就应该被当作机器零
}
//x+iy
if(y<0){
System.out.print(String.format("%.2f%.2fi",x,y));
}
else if(y>=0){
System.out.print(String.format("%.2f+%.2fi",x,y));
}
}
}