【正文】
isplay() { (姓名:{0}, Name)。 (年齡:{0}, Age)。 (性別:{0}, Sex)。 (成績(jī):)。 for (int i = 0。 i 5。 i++) ({0} , Score[i])。 (\n平均成績(jī):{0}, CalAver())。 } } class Program { public static void Main() { double[] cj = { 87, 78, 90, 67, 89 }。 Student stu。 stu = new Student()。 ()。 stu = new Student(張三, 20, 39。男39。)。 ()。 stu = new Student(張三, 20, 39。男39。, cj)。 ()。 ()。 } }6.設(shè)計(jì)一個(gè)控制臺(tái)應(yīng)用程序,定義如下接口Ia: interface Ia //聲明接口Ia{ float getarea()。 //求面積}從它派生Rectangle(長(zhǎng)方形類(lèi))和Square(正方形)兩個(gè)類(lèi),包含getarea方法的實(shí)現(xiàn)。并分別輸出長(zhǎng)2寬3的長(zhǎng)方形和長(zhǎng)5的正方形的面積。 interface Ia //聲明接口Ia { float getarea()。 //接口成員聲明 } public class Rectangle : Ia //類(lèi)Rectangle繼承接口Ia { float x, y。 public Rectangle(float x1, float y1) //構(gòu)造函數(shù) { x = x1。 y = y1。 } float () //顯式接口成員實(shí)現(xiàn),帶有接口名前綴,不能使用public { return x * y。 } } public class Square : Ia //類(lèi)Square繼承接口Ia { float x。 public Square(float x1) //構(gòu)造函數(shù) { x = x1。 } float () //顯式接口成員實(shí)現(xiàn),帶有接口名前綴,不能使用public { return x * x。 } } class Program { static void Main(string[] args) { Rectangle box1 = new Rectangle(, )。 //定義一個(gè)類(lèi)實(shí)例 Ia ia = (Ia)box1。 //定義一個(gè)接口實(shí)例 (長(zhǎng)方形面積: {0}, ())。 Square box2 = new Square()。 //定義一個(gè)類(lèi)實(shí)例 Ia ib = (Ia)box2。 //定義一個(gè)接口實(shí)例 (正方形面積: {0}, ())。 } }7.設(shè)計(jì)一個(gè)控制臺(tái)應(yīng)用程序,含一個(gè)學(xué)生類(lèi)Stud(每個(gè)學(xué)生有學(xué)號(hào)xh、姓名xm和分?jǐn)?shù)fs私有字段),向ArrayList對(duì)象中添加若干個(gè)學(xué)生對(duì)象,并按分?jǐn)?shù)從高到低輸出所有學(xué)生信息。要求比較采用繼承Iparer接口的方式實(shí)現(xiàn)。class Program { class Stud { int xh。 //學(xué)號(hào) string xm。 //姓名 int fs。 //分?jǐn)?shù) public int pfs //pfs屬性 { get { return fs。 } } public Stud(int no, string name, int degree) { xh = no。 xm = name。 fs = degree。 } public void disp() { (\t{0}\t{1}\t{2}, xh, xm, fs)。 } } public class myCompareClassfs : IComparer { int (object x, object y) { Stud a = (Stud)x。 Stud b = (Stud)y。 if ( ) return 1。 else if ( == ) return 0。 else return 1。 } } static void disparr(ArrayList myarr, string str) { (str)。 (\t學(xué)號(hào)\t姓名\t分?jǐn)?shù))。 foreach (Stud s in myarr) ()。 } static void Main(string[] args) { int i, n = 4。 IComparer myComparerfs = new myCompareClassfs()。 ArrayList myarr = new ArrayList()。 Stud[] st = new Stud[4] { new Stud(1, Smith, 82), new Stud(4, John, 88), new Stud(3, Mary, 95), new Stud(2, Cherr, 64) }。 for (i = 0。 i n。 i++) (st[i])。 (myComparerfs)。 disparr(myarr, 按分?jǐn)?shù)降序排序后:)。 } }8.設(shè)計(jì)一個(gè)控制臺(tái)應(yīng)用程序項(xiàng)目,輸入若干個(gè)學(xué)生的英語(yǔ)和數(shù)學(xué)成績(jī),求出總分,并按總分從高到低排序。要求設(shè)計(jì)一個(gè)學(xué)生類(lèi)Student,所有學(xué)生對(duì)象存放在一個(gè)Student對(duì)象數(shù)組中,通過(guò)一個(gè)方法對(duì)其按照總分進(jìn)行降序排序,最出輸出排序后的結(jié)果。要求比較采用繼承繼承Iparable接口的方式實(shí)現(xiàn)。public class Student:IComparable { private string name。 private int eng, math, sum。 public int psum { get { return sum。 } } public void inscore() { (姓名:)。 name = ()。 (英語(yǔ):)。 eng = (())。 (數(shù)學(xué):)。 math = (())。 sum = eng + math。 } public void display() { (\t{0}\t{1}\t{2}\t{3}, name, eng, math, sum)。 } public int CompareTo(object obj) //實(shí)現(xiàn)接口方法 { Student s = (Student)obj。 //轉(zhuǎn)換為Student實(shí)例 if (psum ) return 1。 else if (psum == ) return 0。 else return 1。 } } class Program { static void Main(string[] args) { int n, i。 ArrayList myarr = new ArrayList()。 Student p。 //定義對(duì)象引用 (輸入學(xué)生人數(shù):)。 n = (())。 for (i = 0。 i n。 i++) { (輸入第{0}個(gè)學(xué)生數(shù)據(jù):, i + 1)。 p = new Student()。 //創(chuàng)建對(duì)象引用實(shí)例 ()。 (p)。 } (排序前:)。 (\t姓名\t英語(yǔ)\t數(shù)學(xué)\t總分)。 i = 1。 foreach(Student s in myarr) { (序號(hào){0}:, i++)。 ()。 } ()。 //按總分降序排序 (排序后:)。 (\t姓名\t英語(yǔ)\t數(shù)學(xué)\t總分)。 i = 1。 foreach (Student s in myarr) { (第{0}名:, i++)。 ()。 } }}