需要帮助将TAB写入toString方法

时间:2012-11-07 10:34:15

标签: java arrays eclipse tostring jgrasp

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,其中包含我的实例数组的元素,其中包含制表符。所以这就是我所拥有的

3 个答案:

答案 0 :(得分:5)

java中的TAB字符由:\t

表示

所以你需要的就是在你的代码上替换这个角色:

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

答案 1 :(得分:1)

制表符可以由"\t"以字符串表示。这称为转义序列,并且已定义的集合记录为here

请注意。最好使用StringBuilder来有效地构造字符串,然后在其上调用toString()以返回最终字符串。

答案 2 :(得分:0)

对于TAB字符使用\t,您的代码会出现许多错误。

首先我注意到你没有从toString方法返回任何东西,所以它不会编译。您必须返回String,因为toString方法的返回类型为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.

}