Java 使用类字符串的字符数组
我正在尝试写一个根据家庭作业有方法的类。类输入是转换为字符数组的字符串。我想在方法Java 使用类字符串的字符数组,java,Java,我正在尝试写一个根据家庭作业有方法的类。类输入是转换为字符数组的字符串。我想在方法originalChar中以字符串形式返回char数组。这是我的密码: public class Problem5 { public static void main(String[] args) { CharacterArray array1 = new CharacterArray("Cool"); System.out.println(array1.
originalChar
中以字符串形式返回char数组。这是我的密码:
public class Problem5 {
public static void main(String[] args) {
CharacterArray array1 = new CharacterArray("Cool");
System.out.println(array1.originalChar());
}
}
class CharacterArray {
char[] storage;
String formForReturn;
CharacterArray() {
}
CharacterArray(String s) {
char[] storage = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
storage[i] = s.charAt(i);
}
}
public String originalChar() {
String formForReturn = new String(storage);
return formForReturn;
}
}
公共类问题5{
公共静态void main(字符串[]args){
CharacterArray array1=新的CharacterArray(“酷”);
System.out.println(array1.originalChar());
}
}
类字符数组{
字符[]存储;
字符串formForReturn;
CharacterArray(){
}
字符数组(字符串s){
char[]存储=新字符[s.length()];
对于(int i=0;i
我得到的错误是NullPointerException,据我理解,这意味着我试图引用一些不存在的东西。我不确定如何对此进行故障排除以及如何解决此问题。非常感谢您的帮助。访问实例变量
char[]存储的方法
使用表示当前对象的这个
关键字。否则,对于当前解决方案,返回的内容为空,这将导致NullPointerException。因为您创建了另一个存储,而不是使用类中现有的存储
您还可以用更短的方式编写originalChar()
方法:
class CharacterArray {
char[] storage;
CharacterArray() { }
CharacterArray(String s) {
this.storage = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
storage[i] = s.charAt(i);
}
}
public String originalChar() {
return new String(this.storage);
}
}
类字符数组{
字符[]存储;
CharacterArray(){}
字符数组(字符串s){
this.storage=新字符[s.length()];
对于(int i=0;i
char[]storage
错误。因为您创建了另一个存储
,它就在该方法中。您应该使用this.storage
或仅删除char[]
此操作有效。非常感谢。我总是把这个
关键字搞砸了。再次感谢