1

わかりました、私は Java がかなり苦手です (正直なところ、私はプログラミングが嫌いで、ネットワーキングの方がずっと好きです)。とにかく、これは大学のためのものなので、私は実際にコードの多くを共有することはできませんが、私は自由に助けを求めることができます.

たくさんの名前を含む JList と、それらの名前の値の配列があります

final Double[] filmcost = { 5.00, 5.50, 7.00, 6.00, 5.00 };

私がやりたいのは、誰かがリストから何かを選択したときに、その値を変数に割り当てることです(テキストボックスを別の配列の文字列に設定しますが、それはうまくいきます)。

だから私は自分の変数を持っています

protected double filmCost;

ここに ListSelectionListener があります

filmList.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent evt) {
                                                    filmCost.setDouble(filmcost[filmList.getSelectedIndex()]);
            }
        });

ただし、「プリミティブ型 double で set Double(Double) を呼び出すことはできません」と不平を言っています。解決策は本当に簡単だと思いますが、これで1時間以上立ち往生しています。

4

2 に答える 2

5

Adoubleはメソッドを持たない単なるプリミティブ値であり、代入するだけです。

filmCost = filmcost[filmList.getSelectedIndex()];
于 2013-03-28T17:13:43.230 に答える
2

必要なのは、次のように書くことです:

filmList.addListSelectionListener(new ListSelectionListener() {
       public void valueChanged(ListSelectionEvent evt) {
             filmCost = filmcost[filmList.getSelectedIndex()];
       }
 });

は二重プリミティブであり、プリミティブでメソッドを呼び出すことfilmCostはできません(それらは、呼び出すオブジェクトsetgetメソッドではありません)。を使用して値を割り当てるだけ=です。

また、アドバイスとして、変数名filmCostを変更してくださいfilmcost。それらは非常に紛らわしいためです(それらは同じように見えますが、少なくとも最初に見たときは混乱しました)。

于 2013-03-28T17:18:17.540 に答える