Хм... , Речь идет о примере из книги Интернет программирование на Java, Вадима Будилова. Заинтересовала причина ошибки, в сети вразумительного ответа не нашел.
классы книг описанные в книге
первый
| Код | public class Card { public final static int SPADES=0, HEARTS=1, DIAMONDS=2, CLUBS=3; public final static int ACE=1, JACK=11, QUEEN=12, KING=13; private final int suit; private final int value;
public Card(int theSuit,int theValue){ value=theValue; suit=theSuit; } public int getSuit(){ return suit; } public int getValue(){ return value; } public String getValueAsString(){ switch (value){ case 1: return "Ace"; case 2: return "2"; case 3:return "3"; case 4: return "4"; case 5: return "5"; case 6: return "6"; case 7: return "7"; case 8: return "8"; case 9: return "9"; case 10: return "10"; case 11: return "Jack"; case 12 : return "Queen"; case 13 :return "King"; default: return "???"; } } public String getSuitAsString(){ switch (suit){ case SPADES :return "Spades"; case HEARTS: return "Hearts"; case DIAMONDS :return "Diamonds"; case CLUBS: return "Clubs"; default:return "??"; } } public String toString(){ return getValueAsString()+"of"+getSuitAsString(); }
}
|
и второй
| Код | import java.awt.*; import java.awt.event.*;
import javax.swing.*; public class Cards extends JApplet{
............................. .......................... .......................
void drawCard(Graphics g,Card card,int x,int y){ if (card==null){ ....................... ...................... } else{ int row=0; switch (card.getSuit()){ case card.CLUBS :row=0; break; case card.HEARTS: row=1; break; case card.SPADES: row=2; break; case card.DIAMONDS: row=3; break; } int sx,sy; sx=40*(card.getValue()-1); sy=60*row; g.drawImage(cardImages, x, y, x+40, y+60, sx, sy, sx+40, sy+60, this); } }
}
|
|