Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的类型不匹配_Java_Arrays - Fatal编程技术网

java中的类型不匹配

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(

我试图在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(); 
    }
}
公共类测试{
公共静态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]);
    }