0
String message = ""; //a string to store the whole message
for (int c = stack.length - 1; c >= 0; c--) {
message += ", "+stack[c];  //add the next element to the message
}
message = message.substring(2); //cut off the first ", "
return message;

これは私の問題を解決するのに役立ちました。ありがとう

4

2 に答える 2

0

StringBuilder を使用して toString の作成を処理します。使用できるテンプレートは

public String toString(){
    StringBuilder output = new StringBuilder();
    output.append(this.getClass().getName());
    output.append("[");
    // append fields

    // to append the Stack you could use Arrays.toString
    // or just iterate as you are trying to do
    int i=top;

    do {
        T result = stack[top-i];
        i--;
        output.append(result != null?result.toString():"null");
    } while (i>=0);

    output.append("]");
    return output.toString();
}
于 2013-06-24T03:00:54.003 に答える
0

ループ内で return を呼び出すと、すぐにループを終了します。あなたがする必要があるのは次のようなものです:

String message = ""; //a string to store the whole message
for (int c = stack.length - 1; c >= 0; c--) {
  message += ", "+stack[c];  //add the next element to the message
}
message = message.substring(2); //cut off the first ", "
return message;
于 2013-06-24T03:03:12.987 に答える