簡體   English   中英

方法toString()的新類

[英]new class with method toString()

這與我之前提出的問題有關。 我在類中添加了toString()方法。 該類使用整數堆棧創建任意長的自然數。 我只是增加和減少,所以堆棧似乎是個不錯的選擇。 無論如何,我從以下代碼中沒有得到任何輸出:

public String toString() {
    String out_final = "", backwards = "", temp_str = "";
    Integer temp_int = 0;
    Character temp_char = ' ';

    while(!number.empty()) {
        temp_int = number.pop();
        temp_str = temp_int.toString();
        backwards.concat(temp_str);
    }

    while(backwards.length() > 0) {
        temp_char = backwards.charAt(backwards.length() - 1);
        temp_str = temp_char.toString();
        out_final.concat(temp_str);
    }
    return out_final;
}

它由System.out.println(b4.toString());調用System.out.println(b4.toString()); 對象number指的是我必須從堆棧末尾取走的Stack<Integer> (顯然是反向的),然后再次反轉以正確打印。 無論如何,不​​要着急這一點,但總是能得到幫助!

字符串是不可變的:


backwards.concat(temp_str);

應該


backwards = backwards.concat(temp_str);

與out_final串聯相同。

或者,如果您的堆棧相當大,則StringBuilder可能對您有用並且可能更有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM