2012-03-22 84 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]); 
      } 
    } 
}