Random随机数相关工具类
生活随笔
收集整理的這篇文章主要介紹了
Random随机数相关工具类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
package com.shuqian.tools;import java.util.Random;/*** Random隨機(jī)數(shù)相關(guān)工具類*/ public class RdTools {public static void main(String[] args) {String str = "";for(int i=0;i<100;i++){//str = gtEx(); //隨機(jī)表達(dá)式str = gtZs(); //整數(shù)表達(dá)式str = str.replaceAll(".0","");System.out.println("["+i+"][表達(dá)式] "+str);}}/** 遞歸獲取整數(shù) */public static String gtZs(){String str = gtEx();if(".0".equals(str.substring(str.length()-2))){return str;}else{System.out.println("[遞歸] "+str);return gtZs();}}/** 獲取3個(gè)隨機(jī)數(shù)(1-9),進(jìn)行隨機(jī)加減乘數(shù)運(yùn)行(+、-、*、/),返回整數(shù)運(yùn)算結(jié)果的表達(dá)式 */public static String gtEx(){String str = gtRdNum()+gtRdEx()+gtRdNum()+gtRdEx()+gtRdNum();double ts = 0.00;//優(yōu)先計(jì)算乘除(第一個(gè)運(yùn)算符)if("*".equals(str.substring(1,2)) || "/".equals(str.substring(1,2))){if("*".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))*Integer.parseInt(str.substring(2,3));}else{ts = Integer.parseInt(str.substring(0,1))/Integer.parseInt(str.substring(2,3));}//第二個(gè)運(yùn)算符if("+".equals(str.substring(3,4))){ts = ts+Integer.parseInt(str.substring(4,5));}else if("-".equals(str.substring(3,4))){ts = ts-Integer.parseInt(str.substring(4,5));}else if("*".equals(str.substring(3,4))){ts = ts*Integer.parseInt(str.substring(4,5));}else if("/".equals(str.substring(3,4))){ts = ts/Integer.parseInt(str.substring(4,5));}}else{//優(yōu)先計(jì)算乘除(第二個(gè)運(yùn)算符)if("*".equals(str.substring(3,4)) || "/".equals(str.substring(3,4))){if("*".equals(str.substring(3,4))){ts = Integer.parseInt(str.substring(2,3))*Integer.parseInt(str.substring(4,5));}else{ts = Integer.parseInt(str.substring(2,3))/Integer.parseInt(str.substring(4,5));}//第二個(gè)運(yùn)算符if("+".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))+ts;}else if("-".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))-ts;}else if("*".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))*ts;}else if("/".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))/ts;}}else{//第一個(gè)運(yùn)算符if("+".equals(str.substring(1,2))){ts = Integer.parseInt(str.substring(0,1))+Integer.parseInt(str.substring(2,3));}else{ts = Integer.parseInt(str.substring(0,1))-Integer.parseInt(str.substring(2,3));}//第二個(gè)運(yùn)算符if("+".equals(str.substring(3,4))){ts = ts+Integer.parseInt(str.substring(4,5));}else{ts = ts-Integer.parseInt(str.substring(4,5));}}}return str+"="+ts;}static Random rd = new Random();/** 產(chǎn)生1-9之間隨機(jī)數(shù) */public static int gtRdNum(){return rd.nextInt(9)+1; //(0-9內(nèi))+1 變相的變成了 1-10內(nèi)}/** 產(chǎn)生(+、-、*、/)之間隨機(jī)運(yùn)算符 */public static String gtRdEx(){int ex = rd.nextInt(4); // 0+、1-、2*、3/if(ex == 0){ return "+";}if(ex == 1){ return "-";}if(ex == 2){ return "*";}if(ex == 3){ return "/";}return "";}}?
[0][表達(dá)式] 9*5*1=45
[1][表達(dá)式] 5/1-8=-3
[2][表達(dá)式] 2-6/3
[3][表達(dá)式] 8-1/5=8
[4][表達(dá)式] 2*3/1=6
[5][表達(dá)式] 5-1*8=-3
[6][表達(dá)式] 3-8-9=-14
[7][表達(dá)式] 1*6-5=1
[遞歸] 1*8/7=1.1428571428571428
[8][表達(dá)式] 6*1+2=8
[9][表達(dá)式] 6-5+6=7
[10][表達(dá)式] 7*8+8=64
[11][表達(dá)式] 8*5-9=31
[12][表達(dá)式] 8+4*7=36
[13][表達(dá)式] 7/8-2=-2
[14][表達(dá)式] 6*9+3=57
[15][表達(dá)式] 4/5/4
?
轉(zhuǎn)載于:https://my.oschina.net/matol/blog/735444
總結(jié)
以上是生活随笔為你收集整理的Random随机数相关工具类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: glyphicon halflings
- 下一篇: TYVJ P1051 选课 Label: