Assignment4:閏年判斷輸入異常時的處理方法

1、問題描述函數

    在輸入界面輸入年份,界面返回是否爲閏年。orm

判斷依據爲:輸入的數字能夠被4整除但不能夠被100整除 || 輸入的數字能夠被400整除ci

若是輸入爲數字之外的其餘字符,會拋出異常。那麼如何防止異常的出現,經過提示「輸入錯誤」等友好方式處理。字符串

    

2、代碼中函數的使用string

   在C#中, char型向int型轉換有以下幾種函數可供使用:io

一、(int)變量名[強制類型轉換]編譯

    該轉換方式主要用於數字類型轉換,從int類型到long,float,double,decimal類型,可使用隱式轉換,可是從long類型到int類型就須要使用顯式轉換,也就是該數據類型轉換方式,不然會產生編譯錯誤。
該方式對於浮點數會作無條件捨去,失去精確度。
固然,該方式也能夠進行object到int得轉換,可是,object的值要賦予int類型的值,不然會產生編譯錯誤,並且object爲null時也會出錯。
最後切忌的一點,千萬不要用來處理char類型到int類型的轉換,不然傳回的的值是ASCII代碼,而並非你想要的值。變量

二、int.Parse(string類型變量名)object

    該方式是將數字內容的字符串轉爲int類型,若是字符串內容爲空或者null時,則拋出ArgumentNullException異常;若是字符串內容不是數字,則拋出FormatException異常;若是字符串內容所表示數字超出int類型可表示的範圍,則拋出OverflowException異常。
使用該方法切忌的一點就是只能處理字符串內容,並且字符串內容只能在int類型可表示的範圍以內。數據類型

三、int.TryParse(string s, out int result)

該方式也是將數字內容的字符串轉爲int類型,可是該方式比int.Parse優越的地方,就是它不會出現異常。若是轉換成功返回true,若是轉換失敗返回false。很明顯,最後一個參數爲輸出值,若是轉換失敗,輸出值爲0;若是轉換成功,則輸出相應的值。

四、Convert.ToInt32()

該方式不只能夠將字符串轉爲int類型,還能夠將其它類型的值轉成int類型。變量若爲object或string類型,當其值爲null時,會傳回0,不會形成程序錯誤,可是若此string類型的值爲string.Empty,在轉型成int時,仍會形成程序錯誤。該方式對於浮點數會作四捨五入。
該方式同強制轉換同樣,不能用來處理char類型,不然傳回的是ASCII代碼。

 

綜上,建議使用第三種函數。若返回false,則表示輸入異常,可提示用戶「輸入的不是數字」並令其從新輸入。若返回true,則按照(一)中所述方法進行判斷,並顯示判斷結果。

相關文章
相關標籤/搜索