以下是我尝试制作的程序的步骤
- 使用扫描器捕获字符串
- 将该字符串传递给另一个类中的方法
- 使用
.toCharArray()将该字符串的字符分隔到数组中
- 使用 for 循环将该数组的内容复制到另一个数组
但是这个数组给了我一个空指针异常。我究竟做错了什么? (忽略类(class)命名,我知道这很愚蠢,但我必须这样做,因为我的老师希望这样做)
主类:
import java.util.Scanner;
public class _01 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter your name : ");
String name = input.nextLine();
int size = name.length();
_02 process = new _02(size);
process.push(name);
}
}
其他带有数组的类:
public class _02 {
int maxsize;
int top;
char arrayStack[];
public _02(int size) {
maxsize = size;
top = -1;
}
public void push(String letters) {
char temp[]= letters.toCharArray();
for (int c=0;c<temp.length;c++) {
temp[c] = arrayStack[++top];
}
}
}
最佳答案
您的分配被颠倒了 - 您想要将从 temp(分配的右侧)分配到 arrayStack(分配的左侧)。另外,您需要初始化 arrayStack,例如arrayStack = new char[temp.length]
- 现在它是空的。
关于java - 使用 for 循环将数组复制到另一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16283487/