从显示方法打印int []数组

时间:2012-03-22 14:53:25

标签: java

我正在尝试从同一个类中的单独方法打印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数组显然是从显示方法中隐藏的,但我不知道该怎么做

6 个答案:

答案 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]);
            }
    }   
}