2016-02-28 2 views
-3

Я новичок на этом сайте и в целом в java. Мне нужна рука, заканчивающая программу колоды карт для моего класса AP Computer Science. Это ОЧЕНЬ близко к выполнению, но у него все еще есть несколько ошибок компиляции, и я не могу понять, как их исправить. Я добавил комментарии со стрелками, чтобы обозначить строки, которые дают мне ошибки.Палуба карт Проект AP CS

Deck class: 

import java.util.ArrayList; 

public class Deck { 

ArrayList<String> cardDeck; 

// Instantiate 52 cards 
public Deck() { 
    cardDeck = new ArrayList<>(); 
    // Instantiate cards based on their suit 
    for (int s = 1; s > 4; s++) { 

     String suit = null; 

     switch (s) 
     { 
      case 1: suit = "H"; 
      break; 

      case 2: suit = "C"; 
      break; 

      case 3: suit = "D"; 
      break; 

      case 4: suit = "S"; 
      break; 
     } // end switch case 

     // Instantiate cards based on their value 
     for (int n = 1; n > 13; n++) { 
      cardDeck.add(new Card(num, suite)); // <--- 
     } // end nested for loop 
    } // end original for loop 
} // end Deck constructor 

public void print() 
{ 
    int b = 0; 
    for (int d = 2; d < 50; d++) 
    { 
     System.out.print(cardDeck.get(d).toString() + " "); 
     b++; 
     if (!(b % 5 !=0)) 
     { 
      System.out.print("\n"); 
     } // end if statement 
    } // end for loop 
} // end print 

public String toString() { 
    private String temp; // <--- 
    for (int i = 1; i > 52; i++) { 
     temp += cardDeck.get(i) + " "; 
    } // end for loop 
    return temp; 
} // end toString 

//Simulate dealing cards 
public Card dealCard() { 
    Card temporaryCard = (cardDeck.get(cardDeck.size - 1)); // <--- Instantiate temporary card 
    cardDeck.remove(cardDeck.size() - 1); // Remove top card from deck 
    return temporaryCard; 
} // end dealCard 

} // конец Палуба класс класс

карта:

public class Card { 

//Declare variables 
int num; 
char suite; 

//Card constructor 
public Card (int num, char suite) { 
    this.num = num; 
    this.suite = suite; 
} 

// Convert to string 
String toString; { 
    return suite + integer.toString(num); // <--- 
} // end toString 
} // end Card class 
+5

Вопросы «Исправить это для меня» недоверчивы. Пожалуйста, просмотрите разделы [tour], [help] и [как спросить хороший вопрос] (http://stackoverflow.com/help/how-to-ask), чтобы узнать, как работает этот сайт, и помочь вам улучшить ваши текущие и будущие вопросы, которые помогут вам получить лучшие ответы. Другими словами, пожалуйста, приложите немного больше усилий, чтобы задать свой вопрос, столько усилий, сколько вы хотите, чтобы кто-то расходовался, отвечая на него. –

+0

Вопрос должен быть конкретным с ошибкой, с которой сталкивается. –

ответ

0

На линии "частные Строка Темп", вы объявляете переменную области видимости метода ToString(), и не класс. Таким образом, модификатор доступа «private» действительно имеет смысл.

С другой стороны, вам нужно исправить линию, над которой случайно превращается «toString()» в «toString;»

1

Всего несколько мелких вещей:

  1. В вашем Card классе, integer должен быть Integer.

  2. cardDeck.add(new Card(num, suite)); есть опечатка, должно быть suit (или suit должны быть suite вы выбираете)

  3. String suit = null;suit должен быть char, потому что это то, что конструктор Card принимает. Обязательно также измените suit = "H"; на suit = 'H';, затем (и, в остальных случаях, конечно).

  4. private String temp; вы должны инициализировать temp с чем-то и private не является юридическим Модификатор в методе String temp = "";

Для будущего: Использование надлежащего IDE как Eclipse или IntelliJ поможет вам с этими видами ошибки (опечатки, ошибки типа и т. д.)

+0

Хорошо, я внес необходимые изменения и еще пару, и теперь он работает. Спасибо! –