我正在學習Java。關於java中char的算術
我應該寫一個程序,將所有大寫字母轉換爲小寫字母,所有小寫字母轉換爲大寫字母。它在書中說我只需要從大寫字母中減去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
我應該怎麼做才能從char中減去?
請參閱下面的鏈接。 http://stackoverflow.com/questions/34411278/char-arithmetic-in-java/34411412#34411412 –