iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0

此章就是使用Math的方法去編寫一些簡單程式。

亂數使用

  • Math類別的random()方法回傳一個介於0~1之間double資料類型的隨基數值
    程式範例試做:
public class Alex1003_1{
    public static void main(Srting[] args){
        for(int i = 1; i <= 3; i++)
            System.out.println( Math.random() );
    }
}

程式執行結果:

0.8075518058070946
0.5371330680115167
0.028904907928624324

以下示範產生介於55~80之間的整數,並將此亂數四捨五入為整數,並顯示兩者。
程式範例試做:

public class Alex1003_2 {
    public static void main(String[] args){
        int X=55, Y=80;
        double Z = ( Math.random() * (Y-X+1) ) + X;
        long value = Math.round( Z );
        System.out.println("亂數產生的值" + Z );
        System.out.println("四捨五入轉整數後的值" + value );
    }
}

程式執行結果:

亂數產生的原始值:75.59268917398799
四捨五入轉整數後的值:75

猜數字遊戲

  • 其實這個遊戲非常簡單,就是由電腦隨機取一個0~99的數,然後透過提示讓玩家知道自己所選的數字示太大還是太小,直到猜對其值或是達到猜題上限就公布答案。
    程式範例試做:
import java.util.*;
public class Alex1003_3
    public static void main(String[] args){
        int answer=(int)(Math.random()*100);
        Scanner sc = new Scanner(System.in);
        final int limit=7;
        boolean bingo = false;
        int guess;
        int cnt=0;
        while( !bingo && cnt<limit){
        cnt++;
        System.out.println("請輸入猜的數(0~99):");
        guess = sc.nextInt();
        if (guess==answer)
            bingo=true;
        else if (guess>answer)
            System.out.println("太大")
        else
            System.out.println("太小")
    }
    if (bingo!)
        System.out.println("恭喜猜中,猜中花的次數為:" + cnt + "次");
    else
        System.out.println("已達猜數的次數上限,答案是:"+answer);
    }
}

程式執行結果:

請輸入猜的數(0~99):50
太小
請輸入猜的數(0~99):75
太大
請輸入猜的數(0~99):62
太小
請輸入猜的數(0~99):66
太小
請輸入猜的數(0~99):68
恭喜猜中,猜中花的次數為5次

上一篇
Java程式-數學運算
下一篇
Java程式-用java計算隨機機率及製作抽牌遊戲
系列文
自學Java物件導向程式語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言