2012年9月29日 星期六

樂透彩模擬程式 JAVA入門練習


1.每次執行程式都會亂數產生6個號碼,和1個特別號
2.號碼不能重複出現
3.號碼在1 - 42之間
4.以二位數顯示 01 - 42

做法一

public class JVD101 {
public static void main(String[] args) {
//1.宣告陣列
int []ar = new int[7];
//2.產生亂數 檢查是否重複 重複則重新產生
for (int i=0;i<7;i++){
int a = (int) (Math.random()*42)+1;

while (a == ar[i]) {      
a = (int) (Math.random() * 42) + 1;
}
ar[i] = a;
//3.依照二位數格式輸出結果
if (i<6){
System.out.print("第"+(i+1)+"個號碼:  ");
}
else{
System.out.print("特別號:  ");
}
if (ar[i]<10){
System.out.println("0"+ar[i]);
}
else{
System.out.println(ar[i]);
}
}
}
===============================================================
做法二 使用DecimalFormat定義輸出格式


import java.text.DecimalFormat;

public class JVD101_1 {
public static void main(String[] args) {

int[] ar = new int[7];
DecimalFormat f = new DecimalFormat("00");

for (int i = 0; i < 7; i++) {
int a = (int) (Math.random() * 42) + 1;
while (a == ar[i]) {
a = (int) (Math.random() * 42) + 1;
}
ar[i] = a;

if (i < 6) {
System.out.println("第" + (i + 1) + "個號碼:  "+f.format(ar[i]));

} else {
System.out.println("特別號:  "+f.format(ar[i]));
}

}

}

}



沒有留言:

張貼留言