满意答案
import java.io.*;
class complex{
//复数类
public float realPart;
public float imagPart;
}
public class Main extends complex{
public static String readString(){
//从键盘读取字符串
BufferedReader br=new BufferedReader(new InputStreamReader(System.in),1);
String s1="";
try{
s1=br.readLine();
}catch(IOException ex){
System.out.println(ex);
}
return s1;
}
public static float readFloat(){
//字符串转换为浮点数
return Float.parseFloat(readString());
}
public static char plus(float r1,float r2,float i1,float i2){
//实现复数相加并输出
complex sum=new complex();
sum.imagPart=i1+i2;
sum.realPart=r1+r2;
if(sum.imagPart<0){
//解决虚部为负时同时显示+ -号问题
sum.imagPart=-sum.imagPart;
System.out.println("两数相加="+sum.realPart+"-"+sum.imagPart+"i");
return 'f';
}
System.out.println("两数相加="+sum.realPart+"+"+sum.imagPart+"i");
return 'z';
}
public static char minus(float r1,float r2,float i1,float i2){
//实现复数相减并输出
complex cha=new complex();
cha.imagPart=i1-i2;
cha.realPart=r1-r2;
if(cha.imagPart<0){
//解决虚部为负时同时显示+ -号问题
cha.imagPart=-cha.imagPart;
System.out.println("两数相减="+cha.realPart+"-"+cha.imagPart+"i");
return 'f';
}
System.out.println("两数相减="+cha.realPart+"+"+cha.imagPart+"i");
return 'z';
}
public static void main(String[] args) {
//主方法
complex a=new complex();
complex b=new complex();
System.out.println("输入第一个复数...");
System.out.print("\n实部=");
a.realPart=Main.readFloat();
System.out.print("虚部=");
a.imagPart=Main.readFloat();
System.out.println("\n输入第二个复数...");
System.out.print("\n实部=");
b.realPart=Main.readFloat();
System.out.print("虚部=");
b.imagPart=Main.readFloat();
System.out.println("\n");
Main.plus(a.realPart,b.realPart,a.imagPart,b.imagPart);
Main.minus(a.realPart,b.realPart,a.imagPart,b.imagPart);
}
}
以前做的 可以实现复数加减法。因为浮点数精度问题,输出可能会有点误差
00分享举报