我在java中遇到char数组问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在java中遇到char数组问题相关的知识,希望对你有一定的参考价值。
我写了这段代码。我的目标是在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实例化的。在获取字符串长度后,将构造函数中的一行移动到复制函数应该可以解决问题。
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]);
}
}
另一答案
你创建一个对象Charwork
,同时实例化长度为char[] letter
的变量keepInt
- 但keepInt
目前为零,beacuse int是原始的,并且默认为0值。
然后,在copy
方法中你改变了keepInt
的值,但那是无关紧要的,因为数组char[] letter
已经设置为长度为0。
以上是关于我在java中遇到char数组问题的主要内容,如果未能解决你的问题,请参考以下文章
我在制作一串字符数组以在 Unity 引擎中打印到屏幕时遇到问题
片段中ListView的setOnItemClickListener
java.lang.IllegalStateException:片段未附加到活动