java學習初探十二之常用類_數字_隨機數_枚舉

1.數字
(1)java.text.DecimalFormat

import java.text.DecimalFormat;

/*
 * 關於數字格式化 java.text.DecimalFromat
 * 數字格式元素
 *  # 任意數字
 *  , 千分位
 *  . 小數點
 *  0 不夠補0
 */
public class NumberTest {
    public static void main(String[] args) {
        //1.創建數字格式化對象
        //需求:加入千分位
        DecimalFormat df=new DecimalFormat("###,###");
        //開始格式化
        //number-->String
        System.out.println(df.format(1234567));//1,234,567

        //需求:加入千分位,保留2位小數
        DecimalFormat df2=new DecimalFormat("###,###.##");
        System.out.println(df2.format(1234567.123));//1,234,567.12

        //需求:加入千分位,保留4位小數,並且不夠補0
        DecimalFormat df3=new DecimalFormat("###,###.0000");
        System.out.println(df3.format(1234567.123));//1,234,567.1230

    }

}

(2)java.math.BigDecimal

import java.math.BigDecimal;

/*
 * java.math.BigDecimal
 *      該類型的數據精確度極高,適合做財務軟件;
 *      財務軟件中double類型精確度太低
 */
public class NumberTest02 {
    public static void main(String[] args) {
        //創建大數據
        BigDecimal v1=new BigDecimal(10);
        BigDecimal v2=new BigDecimal(20);

        //做加法運算
        //v1+v2 錯誤,兩個引用類型不能做加法運算
        //必須調用方法執行加法運算
        BigDecimal v3=v1.add(v2);
        System.out.println(v3);//30
    }
}

2.java.util.Random

import java.util.Random;

/*
 * 生成隨機數
 */
public class RandomTest {

    public static void main(String[] args) {

        //創建一個新的隨機數生成器
        Random r=new Random();
        //生成int的隨機數
        int i=r.nextInt(101);//[0-100]之間的隨機數

        //循環生成5個隨機數
        for(int j=0;j<6;j++) {
            System.out.println(r.nextInt(101));
        }
    }

}

生成五個不重複的隨機數:

import java.util.Random;

import javax.swing.SpringLayout.Constraints;

/*
 * 作業:生成5個不重複的隨機數[1-5]
 */
public class RandomTest {
    public static void main(String[] args) {
        int[] a= new int[5];
        Random random=new Random();
        int index=0;
        while(index<5) {
            int temp=random.nextInt(6);//0-5
            if(temp!=0&&!contains(a,temp)) {
                a[index++]=temp;
            }

        }   
        //遍歷保存的隨機數
        for (int j = 0; j < a.length; j++) {
            System.out.print(a[j]+" ");
        }
    }
    //該方法完成判斷temp元素在a數組中是否包含
    //包含返回true
    public static boolean contains(int[] a,int temp) {
        for (int i = 0; i < a.length; i++) {
            if(a[i]==temp) {return true;}
        }
        return false;
    }


}

3.枚舉 enum
(1)引出問題

/*
 * 需求,定義一個方法,該方法的作用是計算兩個int類型數據的商。
 * 如果計算成功,則,該方法返回1,如果執行失敗,則該方法返回0
 * 
 * 程序執行成功,但是該程序存在風險,分析:存在什麼風險
 * 程序中的問題能在編譯階段解決的,絕對不會放在運行期解決,所以以下程序可以引入枚舉類型
 */
public class EnumTest {

    public static void main(String[] args) {
        int a=10;int b=0;
        int returnval=divide(10, 0);
        if(returnval==1) {
            System.out.println("成功");
        }else {
            System.out.println("失敗");
        }

    }
    //實現需求
    public static int divide(int a,int b) {
        try {
            int c=a/b;
            return 1;
        } catch (Exception e) {
            return 0;
        }
    }

}

(2)引入enum類型解決


public class EnumTest02 {

    public static void main(String[] args) {
        int a=10;int b=0;
        Result returnval=divide(10, 0);
        if(returnval==Result.SUCCESS) {
            System.out.println("成功");
        }
        if(returnval==Result.FAIL) {
            System.out.println("失敗");
        }

    }
    //實現需求
    public static Result divide(int a,int b) {
        try {
            int c=a/b;
            return Result.SUCCESS;
        } catch (Exception e) {
            return Result.FAIL;
        }
    }

}
//定義一個枚舉類型
enum Result{
    //成功和失敗
    //規範要求:大寫
    SUCCESS,FAIL //有限的
}
//四季
enum Season{
    SBRING,SUNMER,AUTUMN,WINTER
}
//顏色
enum Color{
    RED,BLACK,WHITE
}
發佈了65 篇原創文章 · 獲贊 13 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章