本案例的目的是使學生掌握大小寫字母相互轉換的算法,其原理是使用了字符類型和整數類型可以相互轉換的知識。
在C#中,英文字母是以Unicode碼(2個字節)存儲在內存中,Unicode碼是一個無符號整型數據,這樣,其可以直接轉換為ushort類型,而ushort類型又可以自動轉換為int類型。大寫字母的Unicode碼比小寫字母的Unicode碼小32,反過來,小寫字母的Unicode碼比相應的大寫字母大32,利用這一原理可以實現大小寫英文字母的相互轉換。
其源代碼如下:
using System;
namespace UpperAndLower
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("==========大小寫字母轉換==========");
Console.Write("請輸入一個英文字母并回車:");
char ch = char.Parse(Console.ReadLine());
if (ch >= 'A' && ch <= 'Z')
{
ch += (char)32;
Console.WriteLine("大寫轉小寫結果為:{0}", ch);
}
else if (ch >= 'a' && ch <= 'z')
{
ch -= (char)32;
Console.WriteLine("小寫轉大寫結果為:{0}", ch);
}
else
{
Console.WriteLine("你輸入的字符為:{0},/n不是有效的英文字母。", ch);
}
Console.WriteLine();
}
}
}
運行結果如下:
運行結果1:
==========大小寫字母轉換==========
請輸入一個英文字母并回車:d
小寫轉大寫結果為:D
運行結果2:
==========大小寫字母轉換==========
請輸入一個英文字母并回車:F
大寫轉小寫結果為:f
運行結果3:
==========大小寫字母轉換==========
請輸入一個英文字母并回車:3
你輸入的字符為:3,
不是有效的英文字母。
新聞熱點
疑難解答