编写一个完整的C#应用程序使用复数类Complex,并验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。复数类Complex必须满足如下要求:
(1)复数类Complex的属性有:
RealPart: int型,代表复数的实数部分
ImaginPart: int型,代表复数的虚数部分
(2)复数类Complex的方法有:
Complex();构造函数,将复数的实部和虚部都置为0
Complex(int r,int i):构造函数,形参r为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a): 将当前复数对象与形参复数对象相加,所得结果仍然是一个复数对象,返回给此方法的调用者。
Void PrintComplex();把当前复数对象的实部,虚部组合成a+bi的字符串形式并打印出来,其中,a 和 b 分别为实部和虚部的数据。我写的程序是这样的:
using System;
namespace _1515
{ class Complex
{
protected int RealPart,ImaginPart;
[STAThread]
public Complex()
{
RealPart=0;
ImaginPart=0;
}
public Complex(int r,int i)
{
RealPart=r;
ImaginPart=i;
}
public Complex complexAdd(Complex a)
{
return RealPart=+r;
return ImaginPart=+i;
}
Void PrintComplex()
{
Console.WriteLine("{0}i+{1}",RealPart,ImaginPart);
}
static void Main(string[] args)
{
Complex f1=new Complex(1,2);
Complex f2=new Complex(3,4);
Console.WriteLine("{0}i+{1}",f1.PrintComplex);
Console.WriteLine("{0}i+{1}",f2.PrintComplex);
Console.WriteLine("{0}i+{1}",f1.complexAdd+f2.complexAdd);
}
}
}
(1)复数类Complex的属性有:
RealPart: int型,代表复数的实数部分
ImaginPart: int型,代表复数的虚数部分
(2)复数类Complex的方法有:
Complex();构造函数,将复数的实部和虚部都置为0
Complex(int r,int i):构造函数,形参r为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a): 将当前复数对象与形参复数对象相加,所得结果仍然是一个复数对象,返回给此方法的调用者。
Void PrintComplex();把当前复数对象的实部,虚部组合成a+bi的字符串形式并打印出来,其中,a 和 b 分别为实部和虚部的数据。我写的程序是这样的:
using System;
namespace _1515
{ class Complex
{
protected int RealPart,ImaginPart;
[STAThread]
public Complex()
{
RealPart=0;
ImaginPart=0;
}
public Complex(int r,int i)
{
RealPart=r;
ImaginPart=i;
}
public Complex complexAdd(Complex a)
{
return RealPart=+r;
return ImaginPart=+i;
}
Void PrintComplex()
{
Console.WriteLine("{0}i+{1}",RealPart,ImaginPart);
}
static void Main(string[] args)
{
Complex f1=new Complex(1,2);
Complex f2=new Complex(3,4);
Console.WriteLine("{0}i+{1}",f1.PrintComplex);
Console.WriteLine("{0}i+{1}",f2.PrintComplex);
Console.WriteLine("{0}i+{1}",f1.complexAdd+f2.complexAdd);
}
}
}
解决方案 »
- Winform中如何打开windows任务计划的文件夹,知道的请进!
- 如何通过构造函数的参数 决定本类中的方法是否可用?
- [求助]在pictruebox某一区域绘图的问题
- 100分,如何将HTML的BUTTON控件,用代码进行显示/隐藏操作?
- 提问一个问题,后天去面试
- c#连接access插入一条记录,我先插入一部分列,后又插入一部分,怎么解决
- 一个SQL数据类型转化问题
- 愁了一下午,刚才单位的网还掉了,想请教也没机会.现在可好了.
- DataGrid的一个简单问题,如何用可以使回车也想tab一样,自己移动到下一个单元格。
- 请你来推荐xml,数据库,网络编程书籍
- C#写的应用程序在运行进需要有.net freamwork环境吗?
- 怎样让自己的应用程序失去焦点?
{
/// <summary>
/// Complex
/// </summary>
public class Complex
{
private int realPart = 0;
private int imaginPart = 0; public int RealPart
{
get
{
return realPart;
}
set
{
realPart = value;
}
} public int ImaginPart
{
get
{
return imaginPart;
}
set
{
imaginPart = value;
}
}
public Complex() : this(0,0)
{ }
public Complex(int r,int i)
{
RealPart = r;
ImaginPart = i;
}
public Complex complexAdd(Complex a)
{
realPart += a.RealPart;
imaginPart += a.ImaginPart;
return this;
}
public string PrintComplex()
{
return realPart.ToString() + "+" + imaginPart.ToString() + "i";
}
}
}
调用
Complex f0=new Complex();
Complex f1=new Complex(1,2);
Complex f2=new Complex(3,4);
Console.WriteLine(f1.PrintComplex());
Console.WriteLine(f2.PrintComplex());
Complex f3 = f1.complexAdd(f2);
Console.WriteLine(f3.PrintComplex());
Complex f4 = f0.complexAdd(f3);
Console.WriteLine(f4.PrintComplex());
{
/// <summary>
/// Complex
/// </summary>
public class Complex
{
private int realPart = 0;
private int imaginPart = 0;public int RealPart
{
get
{
return realPart;
}
set
{
realPart = value;
}
}public int ImaginPart
{
get
{
return imaginPart;
}
set
{
imaginPart = value;
}
}
public Complex() : this(0,0)
{}
public Complex(int r,int i)
{
RealPart = r;
ImaginPart = i;
}
public Complex complexAdd(Complex a)
{
realPart += a.RealPart;
imaginPart += a.ImaginPart;
return this;
}
public string PrintComplex()
{
return realPart.ToString() + "+" + imaginPart.ToString() + "i";
}
}
}
调用
Complex f0=new Complex();
Complex f1=new Complex(1,2);
Complex f2=new Complex(3,4);
Console.WriteLine(f1.PrintComplex());
Console.WriteLine(f2.PrintComplex());
Complex f3 = f1.complexAdd(f2);
Console.WriteLine(f3.PrintComplex());
Complex f4 = f0.complexAdd(f3);
Console.WriteLine(f4.PrintComplex());
public Complex complexAdd(Complex a)
{
return RealPart=+r;
return ImaginPart=+i;
}
怎么可以return两个呢,应该编译都不会通过吧!
而且r和i是哪里来得?
应该这样写吧:
public Complex complexAdd(Complex a) {
this.RealPart += a.RealPart;
this.ImaginPart += a.ImaginPart;
return this;
}