亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

輸出顯示為空

輸出顯示為空

森欄 2023-08-16 15:55:08
所以我是編程初學者,我在課堂上有一個項目,要求我打一手橋牌并將其分發給四名玩家。其中一項任務要求我打印出一副洗牌的牌,但是,當我嘗試打印它時,它輸出 52 個空語句而不是洗牌的牌。有人可以幫我解決這個問題嗎?謝謝。import java.util.*;public class Card {   public static String[] SUITS = {"Clubs","Diamonds","Hearts","Spades"};   public static String[] RANKS = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};   public static String[]deck = new String[52];   public static String[] createDeck() { // initializes and creates deck      for(int i = 0; i < RANKS.length ; i++) {         for(int j = 0; j < SUITS.length ; j++) {            deck[SUITS.length * i + j] = RANKS[i] + " of " + SUITS[j];         }      }      return deck;    }   public static void shuffleDeck(String[]deck) { //shuffles deck created from array      int n = deck.length;      for (int i = 0; i < n; i++) {         int r = i + (int)(Math.random() * (n-i));         String temp = deck[r];         deck[r] = deck[i];          deck[i] = temp;         System.out.println(deck[i]);      }     }      public static void main(String[] args) {      Card.shuffleDeck(deck);   }
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

createDeck()您的方法中缺少一個調用main():


public static void main(String[] args) {

    createDeck();

    shuffleDeck(deck);

}

因為以下語句僅用值初始化deck數組52 null:


public static String[]deck = new String[52];

您需要用deck實際值填充數組才能正確顯示它們。您可以安全地標記createDeck()為,void因為您不需要返回deck數組,因為它被聲明為static無論如何都可以訪問。方法也是如此shuffleDeck(),您不需要傳遞數組static,它就可以訪問。


或者您可以采用另一種方法,其中deck將數組聲明為局部變量并將其作為參數傳遞給這些方法。


查看完整回答
反對 回復 2023-08-16
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號