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

4

3 回答 3

5

java中的TAB字符表示为:\t

所以你需要做的就是在你的代码中替换这个字符:

for (i = 0; i < numbers.length; i++)
        result = result + list[i] + "\t";
于 2012-11-07T10:35:56.680 回答
1

制表符可以用字符串表示"\t"。这称为转义序列此处记录了一个已定义的集合。

笔记。使用StringBuilder来有效地构造您的字符串,然后调用toString()它来让您的最终字符串返回是一种很好的做法。

于 2012-11-07T10:39:35.557 回答
0

对于TAB字符使用\t,您的代码存在许多编译错误。

首先我注意到你没有从toString方法中返回任何东西,所以它不会编译。您必须返回 aString因为方法的返回类型toStringString

在你的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.

}
于 2012-11-07T10:38:55.497 回答