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()a を返すことになっています。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コードには多くのcomipationエラーがあります。

最初に気付いたのは、メソッドから何も返されていtoStringないため、コンパイルされないということです。メソッドStringの戻りタイプは次のとおりであるため、を返す必要があります。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 に答える