[英]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
時創建了對象Charwork
但keepInt
為零,因為int是原始的並且實例化了默認0值。
然后,在copy
方法中,您更改keepInt
值,但這無關緊要,因為已經將數組char[] letter
設置為長度為0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.