我编写了下面的代码,将小写转换为大写,将大写转换为小写,但它无法正常运行。此代码触发以下错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Type mismatch: cannot convert from int to char
Type mismatch: cannot convert from int to char
at learn.Example.main(Example.java:20)
<小时/>
public class Example
{
public static void main(String args[])
throws java.io.IOException
{
char ch;
System.out.println("Enter an alphabet only: ");
do
{
ch = (char) System.in.read();
if (ch>='a' & ch <= 'z')
{
ch= ch-32;
System.out.println(ch);
}
if (ch >='A' & ch <= 'Z')
{
ch = ch + 32;
System.out.println(ch);
}
}
while (ch != '.');
}
}
最佳答案
改变
ch = ch - 32;
至
ch = (char) (ch - 32);
因为该算术运算符的结果是 int
并且必须显式转换为 char
。
同样改变
ch = ch + 32;
至
ch = (char) (ch + 32);
关于java - Java 中的 char 算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34411278/