面向對象程序設計練習題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…