之前已经写好了一个Account类,可以设置用户id、balance,产生日期,现在要设计并测试一个抽奖类,抽奖类可以从n个账户中抽出m个不重复账户,并返回中奖账户的id、balance和产生日期。代码运行后总是显示nullPointerException。各位高人帮我看看代码哪出了问题吧!
import javax.swing.JOptionPane;
public class SelectAccountRandomly {
public static void main(String[] args){
SelectAccountRandomly random=new SelectAccountRandomly();
random.Select(10,3);
}
public void Select(int n,int m){
int[] array=new int[n];
boolean y = true;
for (int i = 0; i <m; i++) {
do {
y = true;
int random = (int) (Math.random() * n);
for (int j = 0; j < i; j++) {
if (array[j] == random) {
y = false;
break;
}
}
if (y) {
array[i]=random;
}
} while(!y);
}
Account[] account=new Account[n];
for(int i=0;i<n;i++){
account[i].setId(i+1);
account[i].setBalance(20000);
}
for(int i=0;i<m;i++){
String output="Congratulations: "+"id: "+account[array[i]].getId()+"balance: "+account[array[i]].getBalance()+"date: "+account[array[i]].getAccountDate().toString();
JOptionPane.showMessageDialog(null, output);
}
}
}