Я изучаю Java.Арифметика на char в 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
Что я должен делать, чтобы вычесть из char?
См. Нижеприведенную ссылку. http://stackoverflow.com/questions/34411278/char-arithmetic-in-java/34411412#34411412 –