我有一個arrayList<Integer>
和arrayList<JLabel>
。 Integer將金額保存爲整數,JLabel保留與字符串相同的值。我想從兩個標籤中隨機刪除元素。例如,如果20TL(t1是貨幣)在JLabel中刪除我想要刪除它在整數arrayList也。這很簡單。但是接下來我想計算ArrayList中剩餘金額的平均值。這是我的另一個arrayList來洗牌0到23個數字。因此,我刪除了IntList和JLabel列表中的相同元素。Java如何計算某個元素隨機刪除的arrayList的平均值?
ArrayList<Integer> Numbers = new ArrayList<Integer>();
for(int n = 0; n<24; n++){
Numbers.add(n);
}
Collections.shuffle(Numbers);
然後這裏是我的兩個列表。
ArrayList<Integer> Money = new ArrayList<Integer>();
Money.add(1); Money.add(5); Money.add(10); Money.add(25); Money.add(50); Money.add(100); Money.add(500); Money.add(1000); Money.add(2000);
Money.add(5000); Money.add(10000); Money.add(20000); Money.add(25000); Money.add(30000); Money.add(40000); Money.add(50000); Money.add(100000); Money.add(200000);
Money.add(300000); Money.add(400000); Money.add(500000); Money.add(750000); Money.add(1000000); Money.add(2000000);
String[] para =new String[] {"1 TL","5 TL","10 TL","25 TL", "50 TL","100 TL","500 TL",//create an array for moneys
"1.000 TL","2.000 TL","5.000 TL","10.000 TL","20.000 TL","25.000 TL",
"30.000 TL","40.000 TL","50.000 TL","100.000 TL",
"200.000 TL","300.000 TL","400.000 TL","500.000 TL","750.000 TL"
,"1.000.000 TL","2.000.000 TL"};
ArrayList <JLabel> myLabel = new ArrayList<JLabel>();
for(int i=0; i < 12 ; i++){
JLabel holder = new JLabel();
holder.setText(para[i]);
myLabel.add(holder);
p2.add(holder);//add the label to the panel
}
for(int j=12; j<para.length; j++){
JLabel holder2 = new JLabel();
holder2.setText(para[j]);
myLabel.add(holder2);
p3.add(holder2);
}
這裏是我的ActionListener方法
private int asd = 0;
///// some code
myLabel.get(Numbers.get(asd)).setVisible(false);
Money.remove(Numbers.get(asd));
去除款式。當我試圖刪除錢intarraylist的計算方法不能正常工作。因爲例如,如果Numbers數組的第一個元素是5,那麼50將被刪除。並且arrayList將會縮小。之後,當Numbers.get(asd)等於23時,int arraylist中不會有第23個元素。因爲它縮小了,沒有第23個元素。我希望我能很好地告訴我的問題。
ps:我試過用數組代替arraylist。但我無法計算出左派的平均值。因爲當某些元素被移除時,數組不會縮小。
你看起來過於複雜的問題。爲什麼不使用'JList',用'DefaultListModel '填充它,並只處理一個集合 - 這裏是列表模型。 –
爲了獲得更好的幫助,事實上,讓我們充分快速地理解您的問題的最好方法是如果您要創建併發布[最小示例程序](http:// stackoverflow。COM /幫助/ MCVE),一個小而完整的程序,只有必要的代碼,以證明您的問題,我們可以複製,粘貼,編譯和運行而無需修改。 –
對不起,我很抱歉。我嘗試它。但我看不到模型。請給我看。 –