[英]Type mismatch in java
我正在尝试将字符值转换为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();
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();
}
}
我想从用户那里获取字符串,并将其存储在数组中(我正在ch[]
),对于数组中的每个元素,我都希望打印其相应的ASCII值。
但是在char ascii[i]=ch[i];
解释器告诉Type mismatch: cannot convert from char to char[]
。
问题出在哪儿 ? 由于我的两个字符初始化都是数组,那么为什么告诉它类型不匹配?
注意:我希望将ascii
变量仅存储为数组。
您不能将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<str.length();i++)
{
char ascii = ch[i];
System.out.println((int)ascii);
}
编辑:
如果希望将输出存储在数组中,则应在循环之前声明该数组:
char[] ascii = new char[str.length()];
for(int i =0;i<str.length();i++)
{
ascii[i] = ch[i];
System.out.println((int)ascii[i]);
}
当您声明ascii [i]时,您试图初始化一个字符数组,但您却为其分配了ch [i],它是单个字符。 因此,您得到错误:
Type mismatch: cannot convert from char to char[].
正如Eran前面所说,将ascii变量从char数组更改为character将解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.