簡體   English   中英

JAVA 21點游戲。 數組內的字符串?

[英]JAVA blackjack game. String inside of array?

我正在嘗試制作一個簡單的基於文本的二十一點游戲。 我想知道如何將字符串放置在數組中,或使用String數組並在數組之外為其分配值。 如果有道理。 以下是我擁有的代碼;

int deck[] = {2,3,4,5,6,7,8,9,10,Jack,Queen,King,Ace};

顯然,這是行不通的,因為該數組用於整數。 可能是一個字符串數組,然后如上所述分配數字? 祝你有美好的一天!

使用Enum

public enum Rank {
    DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, 
    NINE, TEN, JACK, QUEEN, KING, ACE;
}

您可以根據需要添加一個值。

那么您的數組的類型為Rank[]

您可以為這些值制作一個ENUM,例如2、3 ... Jack,Queen,King。

public enum CardValue {
  Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace;
}
  

如果您確實需要數組中的整數和字符串,則可以使用Polymorphism,如下所示:

Object[] deck = new Object[13];
deck[0] = (Object)new Integer(2);
...
deck[12] = (Object)new String("Ace");

訪問時,您也必須將所有內容都轉換回正確的類型。

String card = (String)deck[12];
int anotherCard = (Integer)deck[0]; 

正確的方法是進行枚舉,為此您可以分配它的值來計算游戲。

暫無
暫無

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

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