我有开头的字母Q和结束字母K。
我想这样增加:
Q,R,S,T...Z,0,1,2,3...9,A,B,C...K
我试过了:
char start = 'Q';
char end = 'K';
while (start != end) {
if((Character.isLetter(start) && Character.isUpperCase(start)) || (Character.isDigit(start))) {
System.out.println(start);
}
start++
}
这会打印中文字符......所以......
Â
ĕ
ƻ
我只想要大写字母和数字。 A-Z,0-9
我也试过了:
if ((Character.getNumericValue(start) >= 10 && Character.getNumericValue(start) <= 35)
&& Character.isUpperCase(start)|| (Character.getNumericValue(start) >= 0 && Character.getNumericValue(start) <= 9))
但是再次打印特殊字符和数字。
答案 0 :(得分:2)
试试这个:
char start = 'Q';
char end = 'K';
char stopHere = end++;
while ( start != stopHere ){
System.out.println(start);
if( start == 'Z' ){
start = '0';
}
else if( start == '9' ){
start = 'A';
}
else{
start++;
}
}
这不是最好的答案,但这样可以解决。
答案 1 :(得分:0)
好的,谢谢Leo,我这样做了:
char[] charArray = {'A','B','C','D','E','F','G','H','I','J','K','L'
,'M','N','O','P','Q','R','S','T','U','V','W','X',
'Y','Z','0','1','2','3','4','5','6','7','8','9'};
char start = 'Q';
char end = 'K';
while (start != end+1) {
for (int i=0; i<charArray.length; i++) {
if(start == charArray[i]) {
System.out.println(start);
}
}
start++;
}
答案 2 :(得分:0)
如果您使用的是Apache Commons Lang,请尝试以下操作:
if (CharUtils.isAsciiAlphaUpper(start) && CharUtils.isAsciiNumeric(start)) {...}