《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
public class dishisanzhang {
public static void main(String[] args) throws CloneNotSupportedException {
Scanner input = new Scanner(System.in);
System.out.print("Enter the first rational number: ");
BigInteger n1 = new BigInteger(input.nextInt()+“”);
BigInteger n2 = new BigInteger(input.nextInt()+“”);
Rational r1 = new Rational(n1,n2);
System.out.print("Enter the second second number: ");
BigInteger n3 = new BigInteger(input.nextInt()+“”);
BigInteger n4 = new BigInteger(input.nextInt()+“”);
Rational r2 = new Rational(n3,n4);
System.out.println(n1+“/”+n2+" + “+n3+”/“+n4+” = "+r1.add(r2));
System.out.println(n1+“/”+n2+" - “+n3+”/“+n4+” = "+r1.subtract(r2));
System.out.println(n1+“/”+n2+" * “+n3+”/“+n4+” = "+r1.multiply(r2));
System.out.println(n1+“/”+n2+" / “+n3+”/“+n4+” = "+r1.divide(r2));
System.out.println(n3+“/”+n4+" is "+(n3.floatValue()/n4.floatValue()));
// 3 454
// 7 2389
}
}
==================================================================
package dishisanzhang;
import java.math.BigInteger;
public class dishisanzhang {
public static void main(String[] args) throws CloneNotSupportedException {
String[] s = args[0].split(“[/ ]”);
if (s.length == 5) {
calculator(s);
} else if (s.length == 6) {
String[] s2 = { s[0], s[1], “/”, s[4], s[5] };
calculator(s2);
}
}
public static void calculator(String[] s) {
BigInteger n1 = new BigInteger(s[0]);
BigInteger d1 = new BigInteger(s[1]);
Rational r1 = new Rational(n1, d1);
BigInteger n2 = new BigInteger(s[3]);
BigInteger d2 = new BigInteger(s[4]);
Rational r2 = new Rational(n2, d2);
System.out.print(Integer.parseInt(s[0]) + “/” + Integer.parseInt(s[1]) + " " + Integer.parseInt(s[2]) + " "
- Integer.parseInt(s[3]) + “/” + Integer.parseInt(s[4]) + " = ");
switch (s[2].charAt(0)) {
case ‘+’:
System.out.println(Integer.parseInt(r1.add(r2).toString()));
break;
case ‘-’:
System.out.println(Integer.parseInt(r1.subtract(r2).toString()));
break;
case ‘*’:
System.out.println(Integer.parseInt(r1.multiply(r2).toString()));
break;
case ‘/’:
System.out.println(Integer.parseInt(r1.divide(r2).toString()));
}
}
}
==================================================================
package dishisanzhang;
public class Complex implements Cloneable, Comparable< Complex > {
private double realPart;
private double imaginaryPart;
public Complex() {
}
public Complex(double a) {
this(a, 0);
}
public Complex(double a, double b) {
this.realPart = a;
this.imaginaryPart = b;
}
public double getRealPart() {
return realPart;
}
public double getImaginaryPart() {
return imaginaryPart;
}
public Complex add(Complex c) {
double r = realPart + c.getRealPart();
double i = imaginaryPart + c.getImaginaryPart();
return new Complex(r, i);
}
public Complex subtract(Complex c) {
double r = realPart - c.getRealPart();
double i = imaginaryPart - c.getImaginaryPart();
return new Complex(r, i);
}
public Complex multiply(Complex c) {
double r = realPart * c.getRealPart() - imaginaryPart * c.getImaginaryPart();
double i = realPart * c.getImaginaryPart() + imaginaryPart * c.getRealPart();
return new Complex(r, i);
}
public Complex divide(Complex c) {
double r = (realPart * c.getRealPart() + imaginaryPart * c.getImaginaryPart())
/ (c.getRealPart() * c.getRealPart() + c.getImaginaryPart() * c.getImaginaryPart());
double i = (realPart * c.getImaginaryPart() - imaginaryPart * c.getRealPart())
/ (c.getRealPart() * c.getRealPart() + c.getImaginaryPart() * c.getImaginaryPart());
return new Complex(r, i