public class CAXA {
public static void main(String[] args) {
new CAXA().run();
}
public void run(){
String str = "hello world";
str = uppercaseString(str);
System.out.println(str);
}
public String uppercaseString(String string) {
String result = "";
for (int i = 0; i < string.length(); i++) {
char c = string.charAt(i);
if (c >= 'a' && c <= 'z') {
c -= 'a' - 'A';
}
result += c;
}
return result;
}
}
各位大牛,小弟初学java,假如问的问题比较幼稚望各位大牛多多见谅,以上程序是一个java字元小写变大写的程序,但是弟弟看不懂,望各位大牛给予讲解,弟弟在这里多谢了。
a的unicode code为97,A为65。因此大小写字母unicode的差为32。你这么修改代码是不会有问题的
不过不太好,这在编程中被称为魔术变量。
最外面的一层for,即:
是用来遍历String的,String由char数组组成。
而
用来判断是否是字母,不然会转出一些奇怪的结果。最后把拼接好的result返回。
顺带一提,String自带转换大小写的函数。