1

LinkedList を作成して新しい要素を挿入すると、毎回新しい要素が挿入されますが、要素をデキューすると、最後に挿入された要素のみが取得されます。私のコードはJAVAでこのようなものです。

import java.io.*;
import java.util.*;
import java.lang.*;
public class Main {
    public static void main(String[] args) throws IOException {
        int i,j,k,l,m,n,t;
        LinkedList q = new LinkedList();
        arc c = new arc();
        c.start = 1;
        c.end  =1 ;
        q.add(c);

        arc d = new arc();
        d.start = 2;
        d.end = 2;
        q.add(d);

        arc a1 = (arc) q.get(0);
        arc a2 = (arc) q.get(1);
        System.out.println(a1.start);
        System.out.println(a2.start);
    }
    public static class arc
    {
        public static int start;
        public static int end;
    }
}

望ましい出力は 1 と 2 でしたが、2 と 2 を取得しています。誰かがこの問題を解決してくれますか。ありがとうございました。

4

5 に答える 5

0

開始と終了に静的変数を使用しています。両方のクラスを 2 つのソース ファイルに分け、静的ファイルを削除します。

public class Lala {
    public static void main(String[] args) throws IOException {
        int i, j, k, l, m, n, t;
        LinkedList q = new LinkedList();
        arc c = new arc();
        c.start = 1;
        c.end = 1;
        q.add(c);

        arc d = new arc();
        d.start = 2;
        d.end = 2;
        q.add(d);

        arc a1 = (arc) q.get(0);
        arc a2 = (arc) q.get(1);
        System.out.println(a1.start);
        System.out.println(a2.start);
    }

}

arc.java:

public class arc
    {
        public int start;
        public int end;
    }
于 2013-10-15T10:29:29.767 に答える
0

あなたのコードを見てください:

public static class arc
{
    public static int start;
    public static int end;
}

開始変数と終了変数は静的であるため、アーク オブジェクトには開始変数と終了変数が 1 つしかありません。

static 修飾子を削除するだけで機能します。

于 2013-10-15T10:27:07.513 に答える