2012-03-22 49 views
0

我想从同一个类中的一个单独的方法打印一个int []数组。从显示方法打印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]); 
      } 
    } 
} 

我intArray显然正在从显示方法隐藏,但我不知道该怎么做

回答

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

如果它不返回任何东西你显示方法应该是无效的..

+0

谢谢,我试图当然谷歌搜索。虽然这很难找到这样的细节。我的意思是我很容易找到如何循环数组,但找出如何将显示分割成另一种方法很难找到。 – Sackling 2012-03-22 15:18:43

0

intArray是在构造一个局部变量
它不存在于其他地方。

您需要改为创建一个私人字段。

0

需要声明LargeInteger方法之外的阵列,如

private int[] intArray; 

public LargeInteger(String s){ 

    this.intArray = new int[s.length()]; 

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

intArrayLargeInteger类而不是本地的构造中的一员:

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