当前位置: 代码迷 >> J2SE >> 设Ch是一个字符变量,写出上列有关问题对应的表达式
  详细解决方案

设Ch是一个字符变量,写出上列有关问题对应的表达式

热度:9276   发布时间:2013-02-25 00:00:00.0
设Ch是一个字符变量,写出下列问题对应的表达式
设Ch是一个字符变量,写出下列问题对应的表达式 
 (1)判断ch是一个十进制的数字字符; 
 (2)判断ch是一个十六进制的数字字符; 
 (3)判断ch是一个大(小)写字母; 
 (4)判断ch是一个英文字母,不论大写还是小写; 
 (5)如何将一个十进制的数字字符ch转换成对应的整数类型值 
 (6)如何将一个十六进制的数字字符ch转换成对应的整数类型值 



------解决方案--------------------------------------------------------
前面用正则,后面可以用Character
------解决方案--------------------------------------------------------
Java code
//ch >= '0' && ch <= '9',判断是否为十进制数字字符        //(ch >= '0' && ch <= '9') || (ch >= 'a' and ch <='f') || (ch >='A' and ch <='F')        //,判断字符是否为十六进制数字字符        //ch >= 'A' && ch <= 'Z',判断一个字符为大写字母        //ch >= 'a' && ch<= 'z',判断一个字符为小写字母        //(ch >= 'a' && ch <='z') || (ch >= 'A' && ch <= 'Z'),判断一个字符为英文字母        //int i = ch - '0',转换十进制数字字符为int型        //int i = (ch >= '0' && ch <='9') ? ch - '0' : ((ch >= 'a' && ch <= 'z') ? ch - 'a' + 10 : ch - 'A' + 10)        //,转换十六进制数字字符为int型
------解决方案--------------------------------------------------------
楼主,一个字符是不能判断是否为16进制的,因为你最大只能输入9一个字符而已,我写的代码是判断2进制的
Java code
public class Test2{    public static void main(String[] args)    {        System.out.println(panDuan('0'));    }    public static boolean panDuan(char ch)    {        Character character = new Character(ch);        if (character.isDigit(ch))        {            try            {                int i = Integer.parseInt(character.toString(ch), 2);// 判断是否为2进制数字,如果是就转换为16进制数字                System.out.println("为2进制数字,转换成功");                return true;            }            catch (Exception e)            {                try                {                    int i = Integer.parseInt(character.toString(ch), 10);// 判断是否为10进制,并转换                    System.out.println("为10进制数字,转换成功");                    return true;                }                catch (Exception ee)                {                    return false;                }            }        }        if (character.isLetter(ch))// 判断是否为字母        {            System.out.println("是个字母");            if (character.isUpperCase(ch))// 判断是否为大写字母,判断小写字母就在前面加个!            {                System.out.println("为大写字母");                return true;            }            else            {                System.out.println("为小写字母");                return false;            }        }        return false;    }}
  相关解决方案