Java程序反转大写和小写

aqu*_*qua 0 java

我必须编写一个程序来输入一个String str并将大写更改为小写,反之亦然.例如:

输入: "abCD"

输出: "ABcd"

这就是我所拥有的:

l-是字符串的长度

for(int b=0;b < l;b++)

             {

               char let=str.charAt(b);

               if(let>97 && let<122)

               {char nlet=let-32;

               System.out.print(nlet);

            }
            else if(let>65 && let<90)
             { char t=let+32;
              System.out.print(t);
            }
           }
           break; 
        }
Run Code Online (Sandbox Code Playgroud)

这一行的错误:" char nlet=let-32;"是:required:char; found:int;

我该如何解决?

rol*_*lfl 5

问题是它32是一个整数,并且let是一个char.Java会let在遇到时将值转换为int let-32,结果是int值(对于'a')96或其他什么.

您需要将结果转换回char:

(char)(let+32)
Run Code Online (Sandbox Code Playgroud)