我正在尝试使用 BufferedReader 执行字符串程序,您可以在其中从用户那里获取字符串并更改字母的大小写。这是我到目前为止所得到的:
import java.io.*;
public class StringProg {
public void ff()throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a sentence");
String str=br.readLine();
String s="";
int l=str.length();
char c;
for(int a = 1; a < l; a++) {
c = str.charAt(a);
char d = 0;
if(c >= 97 && c <= 122) {
d = c - 32;
} else if(c >= 65 && c <= 90) {
d = c + 32;
}
System.out.print(d);
}
}
}
当我运行它时,它说“可能失去精度;需要的字符;找到 int”有人可以帮我纠正这个问题吗?
更新:这是更正后的新代码:
import java.io.*;
public class StringProg
{
public void ff()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a sentence");
String str=br.readLine();
String s="";
int l=str.length();
char c;
char d;
for(int a=1;a<l;a++)
{
c=str.charAt(a);
if(c>=97 && c<=122)
{
d= (char)(c-32);
}
else if(c>=65 &&c<=90);
{
d=(char)(c+32);
}
System.out.print(d);
}
}
}
但输出不起作用。有人能指出我的错误吗?当我输入“a”或“b”时,没有输出,但当我输入“E”时,它变为“e”,但当我输入“HidE”时,它变为2个正方形(我不知道如何打印它在键盘上)和“e”。