class Ren92{
public static void main(String args[]){
final String number [] = {"エース", "2", "3", "4", "5", "6", "7", "8", "9", "10", "ジャック", "クイーン", "キング"};
boolean numberCheck [] ={false,false,false,false,false,false,false,false,false,false,false,false,false};
int n, m;

System.out.println("---------START-------------");

for(n = 0; n < number.length; n++){
m = (int)(Math.random() * 13);
if(numberCheck[m] == true){
continue;
}
System.out.println("ハートの"+number[m]);
if(m == 0){
System.out.println("----------END------------");
break;
}
numberCheck[m] = true;
}
}
}

ハートのエースが出てくるまでハートのカードを出し続けるプログラムなんですが、
たまにエースがまだ出てないのに処理が終了することがあります。
どうしたら最後まで動きますでしょうか?