簡體   English   中英

我在Java中遇到麻煩char數組

[英]I am having trouble char array in java

我寫了這段代碼。 我的目的是將字符串寫成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]);
    }
}

您在實例化長度為keepInt變量char[] letter時創建了對象CharworkkeepInt為零,因為int是原始的並且實例化了默認0值。

然后,在copy方法中,您更改keepInt值,但這無關緊要,因為已經將數組char[] letter設置為長度為0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM