私は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
文字から減算するにはどうすればよいですか?