一. 其它(共1题,100分)
1. (其它)
编写一个完整的程序,从键盘任意输入两个复数,使用复数类Complex验证两个复数相加,如输入 1+2i和3+4i 相加产生一个新的复数 4+6i,输入 6+7i和8-10i 相加产生一个新的复数14-3i。复数类Complex必须满足如下要求:
(1)复数类Complex的属性有:
realPart :int型,代表复数的实数局部
imaginPart: int 型,代表复数的虚数局部
(2)复数类Complex的方法有:
Complex():构造函数,将复数的实部和虚部都置0.
Complex( int r,int i):构造函数,形参r为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a):将当前复数对象与形参复数对象相加,所得的结果仍是一个复数对象,返回给此方法的调用者.
String toString():把当前复数对象的实部、虛部组合成a+bi 的宇符串形式,其中a和b分别为实部和虛部的数据。注意:该程序在eclipse中执行,在eclipse中需要创建两个源文件,一个Complex.java表示复数对象类;一个Test.java为主类,在主类中使用Complex类对复数对象进行求和操作。
执行效果如图所示:
Complex.java
---------------------------------------------------------------------
class Complex{
private int realPart;
private int imaginPart;
public Complex()
{
realPart = 0;
imaginPart = 0;
}
public Complex(int r, int i)
{
realPart = r;
imaginPart = i;
}
public Complex complexAdd(Complex a)
{
Complex b = new Complex();
b.realPart = realPart + a.realPart;
b.imaginPart = imaginPart + a.imaginPart;
return b;
}
public String toString()
{
String str;
if(imaginPart>=0){
str=realPart + "+" + imaginPart + "i";
}
else
{
str=realPart +""+imaginPart + "i";
}
return str;
}
}
---------------------------------------------------------------
Test.java
----------------------------------------------------------------
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入第一个复数的实部:");
int cr=reader.nextInt();
System.out.println("请输入第一个复数的虚部:");
int ci=reader.nextInt();
Complex c1=new Complex(cr,ci);
System.out.println("输入的第一个复数为:"+c1.toString());
System.out.println("请输入第二个复数的实部:");
cr=reader.nextInt();
System.out.println("请输入第二个复数的虚部:");
ci=reader.nextInt();
Complex c2=new Complex(cr,ci);
System.out.println("输入的第二个复数为:"+c2.toString());
System.out.println(c1.toString()+"与"+c2.toString()+"的和为:"+c1.complexAdd(c2).toString());
}
}