当前位置:编程学习 > C#/ASP.NET >>

C#编程问题

用户输入单个字符,如果用户输入的是a-z中的任意一个字母,那么将其转化为相对应的大写字母输出,如果输入的是A-Z中的一个任意字母,那么将其转化为相对应的小写字母输出,如果用户在输入过程中接受到来了非英文字母时,则立即抛出异常,要求用户在程序中捕获该异常,并输出“输出错误,请重新输入。
追问:大哥,会的话帮忙写写吧,我期终考试题。我不会啊。

答案:using System;

class Test {
    static void Main()
    {
        int c;
        while (true) {
            try {
                if (Char.IsLetter((char)(c = Console.Read())))
                    Console.Write((char)(c ^ 32));
                else if ("'\n\t\r'".IndexOf((char)c) == -1)
                    throw new Exception("输出错误,请重新输入。");
                else if(c == (int)'\n')
                    Console.WriteLine();
            } catch (Exception e) {
                Console.WriteLine(e.Message);
            }
        }
    }
}

查一查ASCII表吧。每个英文字母在表内都是固定的数字值,只要检查一下输入的字符相对的unsigned char 值,看在那个范围内就可以了。如果做小写到大写的转换,那就是加或减少一个固定值就可以了。

上一个:c#编程问题
下一个:关于C#编程

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,