簡體   English   中英

在Java w / oa循環中以列表格式打印數組列表

[英]print an array list in a list format in java w/o a loop

我試圖重新定義方法toString(),該方法必須返回String,以打印一個名為Card的數組列表,其類型為Card。 因為toString()必須返回一個字符串,所以我不能使用循環來逐一打印出每個元素,但是我想以列表格式打印數組列表。 基本上,沒有人知道如何使toString()以字符串形式返回數組列表卡而不使用循環嗎?

卡數組列表定義

    ArrayList <Card> cards = new ArrayList<Card>();

卡類創建者

    Card card1 = new Card(String suit, String rank, int value);

toString方法

    public String deckToString(){
        return cards;
    }

它應該打印什么

[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
[suit, rank, value]
 etc.

當前打印的內容

[suit, rank, value] [suit, rank, value] etc.

如果我理解正確,則您希望每個值都單獨顯示。 換句話說,通過換行符而不是逗號來連接值。

public String deckToString() {
    return String.join("\n", cards.stream().map(Card::toString).collect(Collectors.toList()));
}
  public String deckToString(){
            temp="";
            for (int i = 0;i<cards.length;i++){
                  temp+=cards.get(i)+"\n";
            return temp;
  }

這只是簡單地遍歷卡片,並為每張卡片添加換行符並將其添加到返回字符串中。 這類似於janos解決方案,但在視覺上更簡單。

暫無
暫無

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

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