Как заменить double в строковом формате в C #? [закрыто]

Вы указываете,

Теперь мне нужно объединить их в массив под названием Deck, который стоит как таковой:

Нет, вам нужно создайте карту класса, в которой есть одно поле каждого перечисления. Только после этого вы можете создать палубу своих карт. Итак, сделайте это - создайте класс карты, дайте ему по крайней мере два поля, по одному для каждого перечисления, плюс подходящий конструктор, плюс геттеры, плюс приличный toString(), а затем вы установите.

Кроме того, это неверно:

public void fill() {
    for (int i = 0; i<52;i++){ // get rid of this loop
    for (Suit s : Suit.values()) {
    for (Rank r : Rank.values()) {
        cards[i]= new Card(r,s);
}

В приведенном выше коде будет поставлено 52 карты в каждое индексное пятно. Например, он попытается набить все 52 карты в место карты [0], то же самое для элемента карты [1], и будет добавлена ​​только последняя карта. У вас будет массив из 52 King of Diamonds - не то, что вы хотите.

Вместо этого избавиться от внешнего цикла и вместо этого увеличить i внутри вашего цикла:

public void fill() {
  int i = 0;
  for (Suit s : Suit.values()) {
    for (Rank r : Rank.values()) {
      cards[i]= new Card(r,s);
      i++;  // increment i here
    }
  }
}
-8
задан madhu kumar 24 July 2013 в 14:10
поделиться