2017-03-22 7 views
0

基本的に私はeオークションのJavaプログラムをプログラムする必要があります。私は 'View Auctions'をしなければならない。私はItemクラスのArrayリストを作成しましたが、このクラスを 'Auction'クラスに接続してユーザーが入札可能なアイテムを表示するのには苦労しています。Arraylistを使って別のクラスの 'items'を表示する

これが私の '項目' クラスです:

private static List<String> list; 
private List myArr = null; 
private List obj = null; 



public static void main(String[] args) { 

    list = new ArrayList<String>(); 

    ArrayList<String> myArr = new ArrayList<String>(); 

    myArr.add("Item: Aux cable"); 
    myArr.add("Description: 1.2m"); 
    myArr.add("Price: £4.50"); 

    System.out.println("Item list" + myArr); 

    list = new ArrayList<String>(); 

    ArrayList<String> obj = new ArrayList<String>(); 

    obj.add("Item: Laptop Case"); 
    obj.add("Description: Purple, 17inch"); 
    obj.add("Price: £7.00"); 

    System.out.println("Item list" + obj); 

    list = new ArrayList<String>(); 
    ArrayList<String> list = new ArrayList<String>(); 

    list.add("Item: Sony Headphones"); 
    list.add("Description: Black, Brown, Blue"); 
    list.add("Price: £15.00"); 

    System.out.println("Item list" + list); 

} 

public static List<String> getList() { 
    return list; 
} 
} 

これが私の 'オークション' クラスです。

public void display() { 

    ArrayList<String> myArr = item.getList(); 
    System.out.print(myArr + "auction is still available" + "."); 

} 

これは、プログラムが実行される 'System1'クラスです。

private static void viewAuctions() { 
    // TODO Auto-generated method stub 



} 

}

+0

1、表示方法の項目2は何ですか?問題は何ですか? – Wietlol

+0

あなたの 'main()'メソッドの下に宣言されたローカル変数 'list'は、' private static List list'フィールドが外部宣言されていないので、現在の実装では 'getList()'メソッドは常に空リスト*を返します。 'main()' –

+0

私はあなたのデザインを変えるべきだと思います。あなたの商品には名前、説明、価格があります。 Itemクラスの配列ではなく、このプロパティをインスタンス変数として定義する必要があります。 ItemクラスのオブジェクトをArrayListに追加する必要があります。 –

答えて

0

ないあなたGETLIST()メソッドが何をするのか確認してください。あなたのArrayListの内容を印刷したい場合しかし、あなたは試してみてください:

for(String current : list) { 
     System.out.println(current); 
    } 
or 
    list.forEach(System.out::println); 
+0

ここでaboutsはこのコードを入力しますか? system1クラスでは? – user34343

+0

リストの内容を印刷する箇所にコードを挿入する必要があります。 UIを実装している場合、System.out.println();でこれを行うことはできません。リストビュー(または同様のもの)に各要素を追加する必要があります。 –

1

まず、私はあなたの表示方法にあなたの配列を渡したいと思います。

 public void display(ArrayList<String> myArr) { 

    System.out.print(myArr + "auction is still available" + "."); 

} 

は、その後、あなたのメインクラスから単純にオークションオブジェクトを作成し、ArrayListの内容を印刷しようとしている場合は、あなたのArrayListに

Auction auction = new Auction(); 
    auction.display(myArr); 
+0

私はオークションオークション=新しいオークション()を入力します。 auction.display(myArr);私のメインクラスに配列からmyArrを認識していません。 – user34343

+0

スコープを確認し、ArrayListの前に呼び出すのですか? myArr = new ArrayList ();どんな衣装でもライン?私はあなたのコードを私の日食にコピーし、変更を加えたときに機能しました。 – user2023608

+0

あなたの最後のコメント「[]オークションはまだ利用可能です。 – user34343

0

を渡してメソッドを呼び出し、それが唯一のprobelmあり、 arraylistの項目を実行する必要があります。 myArrを印刷すると、オブジェクト全体が表示されます。だから、あなたのような何かをすることができます

for(String item:myArr){ 
    System.out.println(item); 
} 

もう少しコードが役に立ちます。また、あなたの弁護士は混乱しているようですが、あなたはアプリケーションの構造をより整理することができます。 listローカルヴァイラブルとlistインスタンスがあります。あなたは混乱しているかもしれませんが、現地のarrayListを塗りつぶすだけです。

関連する問題