我正在学习Java。
我应该编写一个程序,将所有大写字母转换为小写字母,将所有小写字母转换为大写字母。它在书中说我只需要从大写中减去 32 并在小写中添加 32。
这是我的代码...
class Caseconv {
public static void main(String args[])
throws java.io.IOException {
char ch;
do {
ch = (char) System.in.read();
if (ch >= 97 & ch <= 122) ch = ch - 32;
if (ch >= 65 & ch <= 90) ch = ch + 32;
System.out.print(ch);
} while (ch != '\n');
}
}
但是编译器不想这样做,我得到这个错误。
Caseconv.java:13: error: possible loss of precision
if (ch >= 97 & ch <= 122) ch = ch - 32;
^
required: char
found: int
Caseconv.java:14: error: possible loss of precision
if (ch >= 65 & ch <= 90) ch = ch + 32;
^
required: char
found: int
2 errors
我应该怎么做才能从字符中减去?