本文最后更新于:1 年前
A到Z的ASCII码值是65到90
a到z的ASCII码值是97到122
Demo
public class AlphabetDemo {
public static void main(String[] args) {
/*char和int类型能够相互转换,相信大家都明白 */
//A到Z的ASCII码是65到90,a到z的ASCII码值是97到122
for (char c = 0; c < 128; c++) {
//java里包装类的一个静态方法,确定c是字母还是小写!!!)
if (Character.isLowerCase(c)) {
System.out.printf("value: %3d char: %c\n", (int)c, c);
//同上,判断c是大写
} else if (Character.isUpperCase(c)) {
System.out.printf("value: %3d char: %c\n", (int)c, c);
}
}
}
}
注:关于isLowerCase
和isUpperCase
在文末有进一步的说明。
扩展 ①
🔺题目:
🔺参考代码:
import java.util.Scanner;
public class Alphabet {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n,level;
System.out.println("the value of n:");
n=input.nextInt();
level=(int)Math.ceil(26/n);//向上取整
System.out.println("======Upper========");
char CH=65;
for(int i=0;i<=level;i++) {
for(int j=0;j<n;j++) {
System.out.printf("%c ",CH);
++CH;
if(CH>=90)
break;
}
System.out.println();
}
System.out.println();
/* 另一个版本,这就看个人理解了!
System.out.println("======Upper========");
char CH=65;
for(int i=1;i<=26;i++) {
System.out.print(CH+" ");
CH++;
if(i%n==0) {
System.out.println();
}
}
System.out.println();
*/
System.out.println("======Lower========");
char ch=97;
for(int i=0;i<=level;i++) {
for(int j=0;j<n;j++) {
System.out.printf("%c ",ch);
++ch;
if(ch>=123)
break;
}
System.out.println();
}
System.out.println();
input.close();
}
}
注意:Math.ceil();//向上取整
参考:我的另一篇博客:Java—向下/上取整
🔺执行截图:
扩展 ②
上面常规思考题中的第6题是自左往右从上往下的水平顺序输出大写堆和小写堆字母表。假如想要按照自上而下从左往右的垂直顺序输出大写堆,该如何实现程序?
即假如每列输出N=5个,则程序的输出情况如下:
= = = Upper = = =
A F K P U Z
B G L Q V
C H M R W
D I N S X
E J O T Y
试用一重循环编写程序,指定一个整型数N(1<=N<=26),按示例规格输出列优先排序的大写字母表。
🔺代码:
import java.util.Scanner;
public class Aphabet {
public static void main(String[] args) {
System.out.println("======Upper========");
Scanner input = new Scanner(System.in);
int n,level;
System.out.println("the value of n:");
n = input.nextInt();
level = (int)Math.ceil(26/n);//向上取整
int j = 0;
char ch = 65;
p(1, n, ch);
}
public static void p(int x,int n,char ch) {
if(x > n)
return;
for(int i = x;i <= 26;i += n){
ch = (char)(i + 64);
System.out.print(ch + " ");
}
System.out.println();
++x;
p(x, n, ch);
}
}
下午做了半个多小时都没做出来,晚上玩了会游戏突然想到用递归,下午怎么就没想到呢?然后游戏就挂机被举报了,但一气呵成搞定了这题。说明思想不够灵活hhh
🔺截图:
补充:Java Character 类
isLowerCase() 方法
🔺作用:用于判断指定字符是否为小写字母。
🔺语法
boolean isLowerCase(char ch)
🔺参数
- ch – 要测试的字符。
🔺返回值
如果字符为小写,则返回 true;否则返回 false。
🔺实例
public class Test {
public static void main(String args[]) {
System.out.println( Character.isLowerCase('a'));
System.out.println( Character.isLowerCase('A'));
}
}
🔺以上程序执行结果为:
true
false
isUpperCase() 方法
🔺作用:用于判断指定字符是否为大写字母。
🔺语法
boolean isUpperCase(char ch)
🔺参数
- ch – 要测试的字符。
🔺返回值
如果字符为大写,则返回 true;否则返回 false。
🔺实例
public class Test {
public static void main(String args[]) {
System.out.println( Character.isUpperCase('b'));
System.out.println( Character.isUpperCase('B'));
}
}
🔺以上程序执行结果为:
false
true
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!