我正在尝试从同一个类中的单独方法打印int []数组。
public class LargeInteger {
public LargeInteger(String s) {
int[] intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
我的int数组显然是从显示方法中隐藏的,但我不知道该怎么做
答案 0 :(得分:1)
我会给你答案,但你应该先投入一些时间在谷歌上查找你的问题。谷歌知道“差不多”的一切......
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public void display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
如果没有返回任何内容, display 方法应该无效。
答案 1 :(得分:0)
intArray
是构造函数中的局部变量
它在其他任何地方都不存在。
您需要改为创建一个私有字段。
答案 2 :(得分:0)
您需要在LargeInteger
方法之外声明数组,例如
private int[] intArray;
public LargeInteger(String s){
this.intArray = new int[s.length()];
}
答案 3 :(得分:0)
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
this.intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < this.intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
答案 4 :(得分:0)
让intArray
成为LargeInteger
类的成员,而不是构造函数的本地成员:
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}
答案 5 :(得分:0)
只需从构造函数中声明int[] intArray
。
应该是
public class LargeInteger {
private int[] intArray;
public LargeInteger(String s) {
intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = Character.digit(s.charAt(i), 10);
}
}
public Object display() {
for (int i = 0; i < intArray.length; i++) {
System.out.print(intArray[i]);
}
}
}