2012-11-07 70 views
1
import java.util.Arrays; 
public class example 
{ 

    private int numbers[]; //instance variable 
    private String result; 

    public example() 
    { 
     numbers = new int[10]; 
     Arrays.fill(numbers, 42); 
    } 

    public example(int[] array) 
    { 
     numbers = Arrays.copyOf(array, array.length); 
    } 

    //get and set methods 
    public void setNumbers (int numbers) 
    { 
     //setMethod 
     this.numbers = new int[numbers]; 
    } 

    public int [] getNumbers()//get method 
    { 
     return numbers; 
    } 


    public String toString() 
    { 
     String result = new String(); 
     int i; 
     for (i = 0; i < numbers; i++) 
      result = result + list[i] + "\n"; 

    } 
} 

嘿傢伙,所以我遇到了我的toString()方法的麻煩。我的toString()方法應該返回一個String,其中包含我的實例數組元素與中間的製表符。因此,對於這個是我需要幫助寫TAB toString方法

回答

5

在Java TAB字符由下式表示:\t

所以,你需要的一切就是在這裏對你的代碼替換這個角色:

for (i = 0; i < numbers.length; i++) 
     result = result + list[i] + "\t"; 
+0

當我編譯爲我的for(i = 0; ..語句 – user1804737

+0

'數字'是一個數組,因此您需要使用'numbers.length' – mecsco

+0

只是增加了第二個操作數的長度 –

0

對於TAB字符使用\t並且您的代碼有許多輸入錯誤。

首先我注意到你的方法沒有從toString方法返回任何東西,所以它不會編譯。你必須返回一個StringtoString方法的返回類型爲String

而在你for循環使用的是numbers(這是在你的代碼中的數組)與<操作,因此是不妥當的,而不是你應該使用numbers.length

你應該這樣寫:

public String toString() 
{ 
     String result = new String(); 
     for (int i = 0; i < numbers.length; i++) 
      result += list[i] + "\t"; 
     return result; //return the string that you have made. 

} 
+0

好吧,非常感謝!這真的有幫助! – user1804737

+0

這很好。快樂的編碼。 – Abubakkar

1

製表符可以在字符串中由"\t"表示。這被稱爲轉義序列,並且存在定義的集合here

注意。使用StringBuilder高效地構建您的字符串是一個很好的做法,然後調用toString()來獲取您的最終字符串返回。