在java中输入不匹配

pen*_*nta 1 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();
        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(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

我想从用户那里获取字符串,并将其存储在一个数组(我正在进行ch[])中,对于数组中的每个元素,我想打印其对应的ASCII值.

但是在char ascii[i]=ch[i];口译处,翻译正在讲述Type mismatch: cannot convert from char to char[].

问题出在哪儿 ?因为我的两个字符初始化都是数组,那为什么它告诉它的类型不匹配?

注意:我希望ascii变量只存储为数组.

Era*_*ran 6

您无法将a指定char给char数组.

更改

    for(int i =0;i<str.length();i++)
    {
        char ascii[i]=ch[i];
        System.out.println((int)ascii[i]);
    }
Run Code Online (Sandbox Code Playgroud)

至

    for(int i =0;i<str.length();i++)
    {
        char ascii = ch[i];
        System.out.println((int)ascii);
    }
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您希望将输出存储在数组中,则应在循环之前声明数组:

    char[] ascii = new char[str.length()];
    for(int i =0;i<str.length();i++)
    {
        ascii[i] = ch[i];
        System.out.println((int)ascii[i]);
    }
Run Code Online (Sandbox Code Playgroud)