Java大小写转换
程序的猫 人气:0今天刚学的java 字符串大小写的转化 写的不详细或错误请指出啊谢谢!!!
第一步首先要写输入对象的定义,用到Scanner来接收输入的字符串
Scanner sc = new Scanner(System.in);
第二步定义一个字符串类型的str来接收这个字符串
String str = sc.next();
第三步要把接收的这段字符串放入char类型的数组中
char[] arrays = str.toCharArray();
做第四步前要需要写两个方法
1.小写转化大写的方法
public static char toUpperCase(char c1){ int a = (int) c1;//将接收到的小写字符c1转换成int类型的数据给a int b =a-32; //a-32得出小写对应大写的ascll数值 char bb = (char)b;//最后将b转换成char类型字符给bb return bb; //返回bb;就是返回大写的字符 }
2.大写转化小写的方法
public static char toLowerCase(char c1){ int a = (int) c1;//将接收到的小写字符c1转换成int类型的数据给a int b =a+32; //a+32得出大写写对应小写的ascll数值 char bb = (char)b;//最后将b转换成char类型字符给bb return bb; //返回bb;就是返回字母小写的字符 }
写完toUpperCase, toLowerCase方法之后就是要将字符数组中的字符转换成对应的大小写字母,代码如下:
for(int i = 0;i<arrays.length;i++){ char c1=arrays[i]; //依次显示输入字符串变数组之后的每一个字符 if(c1>=97 && c1<=122){ //如果输入是小写 ,则调用toUpperCase方法 char c2 = toUpperCase(c1); System.out.print(c2); } else if(c1>=65 && c1<=90){ char c2 = toLowerCase(c1);//如果输入是大写 ,则调用toLowerCase方法 System.out.print(c2); }else{ System.out.print(" "); /*考虑到有字符中包含数字或其他特殊字符的情况, 让不是字母的字符以空格代替*/ }
当看到
这些比较符后面的数字不懂什么意思,别急,我这里有张图参考
通过上表可以看到
小写字母中a-z的ascll范围97-122;
大写的字母A-Z的ascll范围65-90;
这样就可以解释第四步中的if语句里的比较符数值指的就是a-z的范围和大写A-Zd的范围
总结
加载全部内容