日期:2014-05-20 浏览次数:20719 次
//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进制的
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; } }