私はプログラミングがまったく初めてで、Java でポーカー プログラムを作成しようとしています。
このコードは Player クラスにあり、ここで空の手を作成しようとしています。どのように配列を埋めても (このようなループなどで)、Eclipse は、hand[1] や hand[ i ] などでメソッドを呼び出そうとすると、null ポインターがあることを通知します。
通常、コンパイル時エラーはありません。しかし、手札にある各カードを個別に作成すると (以下を参照)、コンパイラーが混乱します...
以下の Player と Class の関連フラグメント。
私は何を間違っていますか?かなり調べましたが、まだわかりません。
前もって感謝します!
class Player {
// Sets up a blank card array called "hand"
// with five (0,0) slots for real cards.
private Card[] hand = new Card[5];
private Card hand[0] = new Card(0, 0); // error: syntax error on token "0", delete this token
private Card hand[1] = new Card(0, 0); // error: syntax error on token "1", delete this token
private Card hand[2] = new Card(0, 0); // error: syntax error on token "2", delete this token
private Card hand[3] = new Card(0, 0); // error: syntax error on token "3", delete this token
private Card hand[4] = new Card(0, 0); // error: syntax error on token "4", delete this token
class Card {
// Sets the default suit/number to zero.
// Lucky for me, such a 0-0 Card does not exist.
private int number = 0;
private int suit = 0;
// Constructs the Card itself by giving it a number and suit.
// Numbers/suits can *only* be set here.
public Card(int n, int s) {
// Bound tester for suit/number values.
// Number has to be between 1 and 14 inclusive (Ace low-Ace high).
// Suit has to be between 1 and 4 inclusive (H/C/D/S).
if (n > 0 && n <= 14 && s > 0 && s <= 4) {
number = n;
suit = s;
}