我是初学者。在编译这段代码时
class UpperLowerCase
{
static String ini = "I LOVE JAVA";
static char str[] = ini.toCharArray();
static char invr[] = new char[10];
static int len = 0 , len1 = 0, i;
static void toUpper()
{
for(i=0;i<str.length;i++)
{
if(str[i]>=97 && str[i]<=122)
invr[len1++]=(str[i]-32);
else
invr[len++]=str[i];
}
invr[len1]='\0';
System.out.println("Reverse of"+ str+" is \n"+ invr);
}
static void toLower()
{
for(i=0;i<str.length;i++)
{
if(str[i]>=65 && str[i]<=90)
invr[len1++]=str[i]-32;
else
invr[len++]=str[i];
}
invr[len1]='\0';
System.out.println("Reverse of"+ str+" is \n"+ invr);
}
public static void main(String [] args)
{
toUpper();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误“可能从 int 到 char 的有损转换”
如何将 int 转换为 char。
请帮助我告诉我如何解决这个错误?
在整数和字符之间进行数学运算时可能会出现溢出,这可能会影响预期结果,因为该值将被分配给字符......这里你有
invr[len1++] = str[i]-32;
Run Code Online (Sandbox Code Playgroud)
但你应该像这样转换为 char:
invr[len1++] = (char)(str[i]-32);
Run Code Online (Sandbox Code Playgroud)