您的位置:首页 > 其它

结构-06. 复数四则运算

2015-07-12 17:53 344 查看
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

/**
* 结构-06. 复数四则运算
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);

double a1 = s.nextDouble();
double b1 = s.nextDouble();
double a2 = s.nextDouble();
double b2 = s.nextDouble();

DecimalFormat format = new DecimalFormat("#0.0");
String fa1 = format.format(a1);
String fb1 = format.format(b1);
String fa2 = format.format(a2);
String fb2 = format.format(b2);

String output = null;
// *********加法***********/
double result1 = a1 + a2;
double result2 = b1 + b2;
String fs1 = format.format(result1);
String fs2 = format.format(result2);

if (fs1.equals("-0.0")) {
fs1 = "0.0";
}
if (fs2.equals("-0.0")) {
fs2 = "0.0";
}

String str1 = "(" + fa1 + (b1 >= 0 ? "+" : "") + fb1 + "i) ";
String str2 = " (" + fa2 + (b2 >= 0 ? "+" : "") + fb2 + "i) = ";
String str = str1 + "+" + str2;
if (fs1.equals("0.0") && !fs2.equals("0.0")) {
output = str + fs2 + "i";
} else if (fs2.equals("0.0")) {
output = str + fs1;
} else {
if (result2 < 0) {
output = str + fs1 + fs2 + "i";
} else {
output = str + fs1 + "+" + fs2 + "i";
}
}
System.out.println(output);
// *********减法***********/
result1 = a1 - a2;
result2 = b1 - b2;
fs1 = format.format(result1);
fs2 = format.format(result2);

if (fs1.equals("-0.0")) {
fs1 = "0.0";
}
if (fs2.equals("-0.0")) {
fs2 = "0.0";
}

str = str1 + "-" + str2;
if (fs1.equals("0.0") && !fs2.equals("0.0")) {
output = str + fs2 + "i";
} else if (fs2.equals("0.0")) {
output = str + fs1;
} else {
if (result2 < 0) {
output = str + fs1 + fs2 + "i";
} else {
output = str + fs1 + "+" + fs2 + "i";
}
}
System.out.println(output);
// *********乘法***********/
result1 = a1 * a2 - b1 * b2;
result2 = a1 * b2 + a2 * b1;
fs1 = format.format(result1);
fs2 = format.format(result2);

if (fs1.equals("-0.0")) {
fs1 = "0.0";
}
if (fs2.equals("-0.0")) {
fs2 = "0.0";
}

str = str1 + "*" + str2;
if (fs1.equals("0.0") && !fs2.equals("0.0")) {
output = str + fs2 + "i";
} else if (fs2.equals("0.0")) {
output = str + fs1;
} else {
if (result2 < 0) {
output = str + fs1 + fs2 + "i";
} else {
output = str + fs1 + "+" + fs2 + "i";
}
}
System.out.println(output);

// *********除法***********/
result1 = (a1 * a2 + b1 * b2) / (a2 * a2 + b2 * b2);
result2 = (a2 * b1 - a1 * b2) / (a2 * a2 + b2 * b2);
fs1 = format.format(result1);
fs2 = format.format(result2);

if (fs1.equals("-0.0")) {
fs1 = "0.0";
}
if (fs2.equals("-0.0")) {
fs2 = "0.0";
}

str = str1 + "/" + str2;
if (fs1.equals("0.0") && !fs2.equals("0.0")) {
output = str + fs2 + "i";
} else if (fs2.equals("0.0")) {
output = str + fs1;
} else {
if (result2 < 0) {
output = str + fs1 + fs2 + "i";
} else {
output = str + fs1 + "+" + fs2 + "i";
}
}
System.out.println(output);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: