面向对象程序设计练习题1_类与对象_廖老师书中例题相关

本文提供四个面向对象程序设计的练习题目,涉及C#中的类与对象。包括利用PrimeNumber类计算素数,静态方法的使用,Employee类的定义及其属性操作,以及复数类的实现与运算符重载。通过这些例子,深化理解面向对象编程概念。
摘要由CSDN通过智能技术生成

面向对象程序设计练习题1_类与对象_廖老师书中例题相关

题目与代码片段

1.

** 有一个类PrimeNumber,里面含有一个判断素数的方法(IsPrimeNumber),其中IsPrimeNumber不是静态(static)方法, 另有一个类TestPrimeNumber,其中有Main方法,利用PrimeNumber类的方法计算输出100万以内的素数及素数的个数。
试写出上面两个类的代码。
参见:面向对象程序设计(CSharp)-廖浩德-P43

**

bool isPrimeNumber;
int number = 3;
long count = 0;
do
{
isPrimeNumber = true;
	int divisor = 2;
	do
	{
		if(number%divisor == 0)
		{
			isPrimeNumber = false;
			break;
		}
		divisor++;
	}while(divisor<number);
	if(isPrimeNumber)
		count++;
	number++;
}while(number<=1000000);
Console.WriteLine(count);

2.

** 若上题中的IsPrimeNumber是静态(static)方法,试给出程序的代码。

**

static bool IsPrimeNumber(int num)
{
	int divisor = 2;
	do
	{
		if(num%divisor == 0)
		{
			return false;
		}
		divisor++;
	}while(divisor<num);
	return ture;
}

3.

** 定义职工类Employee,含有私有的name, age字段、公有的Say()方法,定义类的构造函数初始化姓名及年龄,
进一步定义共有的Name与Age属性向外界公开姓名及年龄,
当年龄出现负数时给予“年龄不可以小于0!”的提示,定义类的析构函数输出“该员工的信息已不存在!”。
实例化该类测试其中的数据及操作。
参见:面向对象程序设计(CSharp)-廖浩德-P56-57-58

**

class Employee
{
	private sting name;
	private int age;
	public string Name
	{
		get{return name;}
	}
	public int Age
	{
		get{return age;}
		set{
			if(value<0)
			{
				Console.WriteLine("输入的年龄不正确!")}
			else
			{
				age=value;
			}
		}
	}
	public void Say()
	{
		Console.WriteLine("我是" + name + "今年" + age + "岁");
	}
}

4.

** 编写一个复数类,
定义复数的实部double real与虚部double image;
定义复数的加(Add)减(Sub)方法,
重载加(Add)减(Sub)方法,
重载“+”、“-”运算符。
实例化该类测试其中的数据及操作。
参见:面向对象程序设计(CSharp)-廖浩德-P59-60

We call a number of the form z = a + bi (a, b are real numbers) a complex number,
where a is the real part, b is the imaginary part, and i is the imaginary unit.

class Test{
	static void Main(String[] args)
	{
		string[] inputs = Console.ReadLine().Split("".ToCharArray(),
		StringSplitOptions.RemoveEmptyEntries);
		int r1 = int.Parse(inputs[0]);
		int i1 = int.Parse(inputs[1]);
		int r2 = int.Parse(inputs[2]);
		int i2 = int.Parse(inputs[3]);
		Complex c1 = new Complex(r1,i1);
		Complex c2 = new Complex(r2,i2);
		(c1 + c2).Print();
		(c1 - c2).Print();
	}
}

收获与体会

小十七好菜啊…期望开学又不想开学呜呜,开学了可以做好多事情,不想开学是因为网课划水几个月,我是fw…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值