java中的类型不匹配
我试图在java中将字符值转换为ASCII值。 下面是我的代码java中的类型不匹配,java,arrays,Java,Arrays,我试图在java中将字符值转换为ASCII值。 下面是我的代码 public class test { public static void main(String[] args) { System.out.println("Enter the string to be converted"); Scanner input = new Scanner(System.in); String str =input.nextLine(
public class test {
public static void main(String[] args)
{
System.out.println("Enter the string to be converted");
Scanner input = new Scanner(System.in);
String str =input.nextLine();
char ch[]=str.toCharArray();//hello
for(int i =0;i<str.length();i++)
{
char ascii[i]=ch[i];
System.out.println((int)ascii[i]);
}
input.close();
}
}
公共类测试{
公共静态void main(字符串[]args)
{
System.out.println(“输入要转换的字符串”);
扫描仪输入=新扫描仪(System.in);
String str=input.nextLine();
char ch[]=str.toCharArray();//您好
对于(int i=0;i您不能将char
分配给char
数组
改变
for(int i =0;i<str.length();i++)
{
char ascii[i]=ch[i];
System.out.println((int)ascii[i]);
}
for(int i=0;i您不能将char
分配给char
数组
改变
for(int i =0;i<str.length();i++)
{
char ascii[i]=ch[i];
System.out.println((int)ascii[i]);
}
for(int i=0;i当您声明ascii[i]时,您试图初始化字符数组,但您正在为其分配ch[i],这是一个单个字符。因此您会得到错误:
类型不匹配:无法从字符转换为字符[]。
如上所述,将ascii变量从字符数组更改为字符将解决此问题。当您声明ascii[i]时,您试图初始化字符数组,但您将其指定为ch[i],这是一个单个字符。因此您会得到错误:
类型不匹配:无法从字符转换为字符[]。
正如Eran上面所说,将ascii变量从字符数组更改为字符将解决这个问题。我已经尝试过,通过这种解决方案,元素不会作为数组存储在变量ascii中,我以后还要在arrray ascii上进行更多的转换,所以我不使用char ascii=ch[I]行;有意的你能告诉我我犯了什么错误吗?很明显我初始化了数组,错在哪里?@penta你试图用一个char
初始化一个char数组(char[]
)。这不是初始化数组的方法。你说的是,char ascii[i]=ch[i];错了吗?我已经尝试过,通过这种解决方案,元素不是以数组形式存储在变量ascii中,我以后还要在arrray ascii上进行更多的转换,所以我不使用char ascii=ch[I]行;有意的你能告诉我我犯了什么错误吗?很明显我初始化了数组,错在哪里?@penta你试图用一个char
初始化一个char数组(char[]
)。这不是初始化数组的方法。那么你说,char ascii[i]=ch[i];错了吗?
char[] ascii = new char[str.length()];
for(int i =0;i<str.length();i++)
{
ascii[i] = ch[i];
System.out.println((int)ascii[i]);
}