我写了这段代码。我的目的是将字符串写成char。
但是我收到ArrayIndexOfBoundsException错误。

public class Charwork {
    char[] letter;
    int keepInt;
    public Charwork()
    {
        letter = new char[keepInt];
    }

    public void copy(String nameToCoppy)
    {
        this.keepInt = nameToCoppy.length();
        System.out.println(this.keepInt);
        for(int x = 0; x < this.keepInt;x++)
        {
            letter[x] = nameToCoppy.charAt(x);
            System.out.println(letter[x]);
        }
    }
}

最佳答案

您的问题是您的数组是用一个null或0的int实例化的。在获取字符串长度后将构造函数中的那一行移至copy函数应该可以解决问题。

public Charwork()
{

}

public void copy(String nameToCoppy)
{
    this.keepInt = nameToCoppy.length();
    letter = new char[keepInt];
    System.out.println(this.keepInt);
    for(int x = 0; x < this.keepInt;x++)
    {
        letter[x] = nameToCoppy.charAt(x);
        System.out.println(letter[x]);
    }
}

10-04 21:55