4

カードのデッキを初期化して表示しようとしています (画像は .gif にあります)。私が遭遇した唯一の問題は、デッキ自体の初期化です。これまでのところ、次のように 4 つの配列 (スーツごとに 1 つ) を作成しようとしました。

import java.applet.*;
import java.awt.*;

public class deckOfCards extends Applet
{
    public void init()
    {
        image clubs = new image[13];
        image hearts = new image[13];
        image spades = new image[13];
        image diamonds = new image[13];
    }
}

次に、スーツごとに次のようにします。

for( int i = 0; i <= 13; i++ )
{
    clubs[i] = getImage( getDocumentBase(), c(i).gif )
}

(カードファイルは、スートごとに c1.gif、c2.gif.....c13.gif というファイル名で保存されます)

シンボル「イメージ」が見つからないというエラーが表示されますが、java.awt.image にはイメージ オブジェクトとイメージ メソッドを作成するクラスがありませんか?

4

2 に答える 2

8

imageはパッケージ内の有効なクラスではありませんAWT。最初の文字を大文字にします。

いくつかの構文の問題があります:

  • キャピタルIインImage
  • 左側の配列ブラケットがありません
  • Imageループするときに配列のインデックスを超えないでください
  • getImage電話に必要な見積もり

Java の命名規則では、クラスは大文字で始まることを示しています。クラスも大文字にする必要があります。

public class DeckOfCards extends Applet {

    public void init() {

       Image[] clubs = new Image[13];
       for (int i = 0; i < clubs.length; i++ ) {
            clubs[i] = getImage( getDocumentBase(), "c" + (i + 1) + ".gif");
        }
        ...
    }
}

またApplet、ミュージアム ピースであり、軽量 に取って代わられましたjavax.swing.JApplet

于 2013-01-28T20:45:59.513 に答える
1

それが、ArrayList コンテナを使用して行う方法です。実際には ArrayList は..配列ですが、はるかに柔軟です。

ArrayList<Image> arrayName = new ArrayList<Image>();
Image imageName = getImage(getCodeBase(),"direction.jpg");
arrayName.add(imageName);
于 2013-01-28T20:49:45.193 に答える