0

私はJavaの初心者だと言わざるを得ません。最近、試験のためにJavaを使用してデータ構造を実装することを勉強しています。配列ベースのスタックを調べているときに、以下のコードを見つけました。

    class StackX {

    private int maxSize;        // size of stack array
    private long[] stackArray;
    private int top;            // top of stack

   //-------------------------------------------------------------

    public StackX(int s)         // constructor
    {
    maxSize = s;             // set array size
    stackArray = new long[maxSize];  // create array
    top = -1;                // no items yet
    }


   //-------------------------------------------------------------
   public void push(long j)    // put item on top of stack
   {
   stackArray[++top] = j;     // increment top, insert item
   }

最初の 3 行が何を意味するかはわかりますが、それ以降の行を理解するのに苦労しています。

     maxSize = s;             // set array size

     stackArray = new long[maxSize];  // create array

     top = -1;                // no items yet

longのデータ型である配列で[maxSize]を使用する理由を誰かが説明できますか? データ型が長いため、数値である必要はありません。

また、push(long j) でlong jを使用する理由には、jに関連付けられた変数がありません。

ヘルプとコメントをお待ちしております。

4

3 に答える 3

7

いくつかのウェブサイトや本を検索して、最初から始めることをお勧めします。ただ飛び込んですべてを理解しようとすることは、ほとんどの人にとってうまくいかない傾向がありますが、あなたの質問への答えとして:

stackArray = new long[maxSize];タイプ の変数を保持できるサイズ 'maxsize' の新しい配列を作成しますlong。'maxsize' は整数型の int であり、配列には整数の要素のみを含めることができます。

long jpush(1.0)push メソッドを呼び出して as として渡すメソッドを、ある時点で呼び出す1.0必要があることを意味するため、 が使用されjます。次に、配列の先頭 +1 の位置に配置します。

于 2012-06-02T07:02:30.637 に答える
4

データ型が long の配列で [maxSize] を使用する理由を誰かが説明できますか? データ型が長いため、数値である必要はありません。

maxSize作成される配列のサイズを指定するために使用される整数変数です。したがって、このステートメント:

stackArray = new long[maxSize];

要素 (たとえば 20)を持つ要素を作成し、maxSizeその配列への参照をstackArray変数に割り当てます。

それ以外の場合に何を期待していたのかは明確ではありませんが、arrays に関する Java チュートリアルのセクションを読むことをお勧めします。

また、push(long j) で long j を使用する理由には、j に関連付けられた変数がありません。

このメソッド宣言:

public void push(long j)

というパラメータがありますj。つまり、メソッドを呼び出すたびに、メソッドへの引数longとして値を渡す必要があります。そのメソッド呼び出しのパラメーターの初期値は、渡した値と同じです。それ以降は、そのメソッドのローカル変数のようになります。繰り返しになりますが、メソッドに関する Java チュートリアルが役立つ場合があります。

于 2012-06-02T07:02:28.777 に答える
0

データ型が long の配列で [maxSize] を使用する理由を誰かが説明できますか? データ型が長いため、数値である必要はありません。

配列は type として宣言されている可能性がありlongますが、インデックスは依然としてint. 配列のタイプに関係なく、インデックスはint. 詳細については、このページの例を参照してください。

また、push(long j) で long j を使用する理由には、j に関連付けられた変数がありません。

このメソッドを呼び出すコードをpush()探すと、 に関連付けられた変数が見つかりますj。また、配列は型longであるため、要素を this(push) に入れるときは、それらもlong型でなければなりません。したがって、long j.

于 2012-06-02T06:59:59.173 に答える