實驗6 方法和屬性
實驗要求:
1. 掌握類的定義及類中的各個成員的使用
2. 掌握方法各種引數型別的區別及使用
3. 掌握方法過載的定義及使用
4. 掌握例項屬性的定義使用,自動屬性的使用
實驗內容:
1、試編寫控制檯應用程式,完成下列要求:
(1)在Program類中定義一個求任意個整數值最大最小值的方法,同時在方法體內將整數序列按降序排列後輸出。
(2)在Main方法中,定義相關的資料,呼叫該方法,並顯示找到的最大最小值;
參考程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MinMax
{
public void compute(out int maxNum, out int minNum, params int[] myArray)
{
for (int i = 0; i < myArray.Length; i++)
{
int k = i;
for (int j = i + 1; j < myArray.Length; j++)
{
if (myArray[j] < myArray[k])
k = j;
}
if (k != i)
{
int temp = myArray[k];
myArray[k] = myArray[i];
myArray[i] = temp;
}
}
maxNum = myArray[myArray.Length - 1];
minNum = myArray[0];
}
}
class Program
{
static void Main(string[] args)
{
Random rnd = new Random();
int n = 10;
int []myArray=new int[n];
for (int i = 0; i < n; i++)
myArray[i] = rnd.Next(100);
MinMax mm = new MinMax();
int maxNumber, minNumber;
mm.compute(out maxNumber, out minNumber, myArray);
Console.WriteLine("{0},{1}",maxNumber, minNumber);
for (int i = 0; i < n; i++)
Console.Write("{0,5}",myArray[i]);
Console.ReadLine();
}
}
}
2、試編寫控制檯應用程式,在Program類中提供一個包含2種過載形式Sub方法。
(1)第一種過載形式:包含int型的兩個引數inta和intb,返回兩值的差(inta-intb);
(2)第二種過載形式:包含string型的兩個引數str和substr,返回從str中移除substr的結果(只移除第一個子串即可);
提示:使用string類的例項方法
public intIndexOf(string value);
public stringRemove(int startIndex, int count);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MinMax
{
public void compute(out int maxNum, out int minNum, params int[] myArray)
{
for (int i = 0; i < myArray.Length; i++)
{
int k = i;
for (int j = i + 1; j < myArray.Length; j++)
{
if (myArray[j] < myArray[k])
k = j;
}
if (k != i)
{
int temp = myArray[k];
myArray[k] = myArray[i];
myArray[i] = temp;
}
}
maxNum = myArray[myArray.Length - 1];
minNum = myArray[0];
}
}
class Program
{
public static int sub(int a, int b)
{
return a - b;
}
public static string sub(string a, string b)
{
string c = null;
if(b.Contains(a))
{
int index=b.IndexOf(a);
c=b.Remove(index, a.Length);
}
return c;
}
static void Main(string[] args)
{
int a, b;
a = 100; b = 200;
Console.WriteLine(sub(a, b));
string str1 = "ng";
string str2="ludongUniversity-=ing";
Console.WriteLine(sub(str1,str2));
Console.ReadLine();
}
}
}
3、試編寫控制檯應用程式,使用屬性完成下列要求:
為某旅行社編寫一個程式,用於接收使用者輸入的旅遊地點,使用者可以根據自己輸入的旅遊地點查詢所需費用,但不能修改費用。
(1)一個引數的建構函式接收使用者輸入的旅遊地點。
(2)三個欄位,分別用於儲存註冊的姓名、旅遊地點和相應的套餐費用。
(3)通過屬性封裝欄位,並驗證旅行社是否能滿足使用者對地點的請求,驗證之後顯示相應訊息,給出該旅遊套餐的費用。
(4)在main()方法中,定義相關資料,並輸出你的旅遊線路和所需費用。
例如,如果旅行社只提供到歐洲和北京的旅遊服務,其中北京的費用1000,歐洲的費用20000。
參考程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Travel
{
private string place;
private string name;
private int fee;
public string Place
{
get { return this.place; }
set{this.place=value;}
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public int Fee
{
get {
if (this.Place == "北京")
return 1000;
else if (this.Place == "歐洲")
return 20000;
else
return -1;
}
}
public Travel(string place)
{
this.place = place;
}
}
class Program
{
static void Main(string[] args)
{
Travel travel1 = new Travel("北京");
Console.WriteLine(travel1.Fee);
Travel travel2 = new Travel("歐洲");
Console.WriteLine(travel2.Fee);
Console.ReadLine();
}
}
}
相關文章
- vue計算屬性和vue實力的屬性和方法Vue
- 屬性和方法
- 字串的常用屬性和方法字串
- WebElement的常用屬性和方法Web
- XML DOM – 屬性和方法概述XML
- vue例項的屬性和方法Vue
- 數值常用的屬性和方法
- 類的靜態屬性和方法
- React學習手記2-屬性校驗和預設屬性React
- defer 屬性和 async 屬性
- JavaScript訪問物件的屬性和方法JavaScript物件
- jQuery事件物件event的屬性和方法jQuery事件物件
- 檢視consoe具有的方法和屬性
- SQL Server 生成C#公共實體屬性和私有屬性SQLServerC#
- 17 ### 屬性方法
- HTML DOM之document物件的屬性和方法HTML物件
- Vue — vue中帶有$的屬性和方法Vue
- 一、訪問物件屬性和方法的操作物件
- vue 標籤和屬性中 字串拼接方法Vue字串
- Python中訪問私有屬性和私有方法Python
- 第190天:js—String常用屬性和方法(最全)JS
- python屬性和方法的區別是什麼Python
- Python 動態新增例項屬性,例項方法,類屬性,類方法Python
- 使用JPA和Hibernate延遲載入實體屬性的最佳方法 - Vlad Mihalcea
- 詳解元宇宙 6 大核心屬性元宇宙
- 屬性和監聽
- mvc中常見的屬性驗證MVC
- 實驗6
- 實驗 6
- 不止卡方檢驗和線性相關係數,相關性分析有6種方法
- JS常用屬性方法大全(一)JS
- Vue 計算屬性與方法Vue
- 可以增刪和排序的下拉屬性實現排序
- 織夢kindeditor編輯器圖片上傳增加圖片alt屬性和title屬性的方法
- es5繼承和es6繼承中靜態方法、靜態屬性的差異繼承
- 舉例說明常用的BOM屬性和方法有哪些?
- C#屬性和lamdaC#
- Winform Anchor和Dock屬性ORM
- calcMode, keyTimes和keySplines 屬性