給你一個思路,希望有幫助,把下面的代碼
創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為鄂州企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),鄂州網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
Random m=new Random();//產(chǎn)生隨機(jī)數(shù)對象
int n=m.nextInt(100);//產(chǎn)生小于100的隨機(jī)數(shù)
if(n%3==0){
//如果產(chǎn)生的隨機(jī)數(shù)對3求余等于0,把牌發(fā)給甲
}else if (n%3==1) {
//如果產(chǎn)生的隨機(jī)數(shù)對3求余等于1,把牌發(fā)給乙
}else{
//如果產(chǎn)生的隨機(jī)數(shù)對3求余等于2,把牌發(fā)給丙
}
java代碼方法一如下:
int random=(int)(Math.random()*10+1)
java代碼方法二如下:
package bdqn_Empy;
import java.util.Random;
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}
}
擴(kuò)展資料:
可以先通過 random方法生成一個隨機(jī)數(shù),然后將結(jié)果乘以10。此時產(chǎn)生的隨機(jī)數(shù)字即為大于等于0小于10的數(shù)字。
然后再利用nt方法進(jìn)行轉(zhuǎn)換它會去掉小數(shù)掉后面的數(shù)字即只獲取整數(shù)部分,不是四舍五入)。最后即可獲取一個0到9的整數(shù)型隨機(jī)數(shù)字。其實現(xiàn)方法很簡單,就是對原有的 grandom方法按照如下的格式進(jìn)行變型:(int( Math. Random0*10)即可。
其實我們還可以對這個方法進(jìn)行擴(kuò)展,讓其產(chǎn)生任意范圍內(nèi)的隨機(jī)數(shù)。至需要將這個10換成n即可,如改為( int(Math. Random0n)。此時應(yīng)用程序就會產(chǎn)生一個大于等于0小與n之間的隨機(jī)數(shù)。
如將n設(shè)置為5,那么其就會產(chǎn)生一個0到5之間的整數(shù)型的隨機(jī)數(shù)。如果將這個寫成一個帶參數(shù)的方法,那么只要用戶輸入需要生成隨機(jī)數(shù)的最大值,就可以讓這個方法來生成制定范圍的隨機(jī)數(shù)。
import java.util.Random;
public class RandomNumber{
public static void main(String[] args) {
// 使用java.lang.Math的random方法生成隨機(jī)數(shù)
System.out.println("Math.random(): " + Math.random());
// 使用不帶參數(shù)的構(gòu)造方法構(gòu)造java.util.Random對象
System.out.println("使用不帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:");
Random rd1 = new Random();
// 產(chǎn)生各種類型的隨機(jī)數(shù)
// 按均勻分布產(chǎn)生整數(shù)
System.out.println("int: " + rd1.nextInt());
// 按均勻分布產(chǎn)生長整數(shù)
System.out.println("long: " + rd1.nextLong());
// 按均勻分布產(chǎn)生大于等于0,小于1的float數(shù)[0, 1)
System.out.println("float: " + rd1.nextFloat());
// 按均勻分布產(chǎn)生[0, 1)范圍的double數(shù)
System.out.println("double: " + rd1.nextDouble());
// 按正態(tài)分布產(chǎn)生隨機(jī)數(shù)
System.out.println("Gaussian: " + rd1.nextGaussian());
// 生成一系列隨機(jī)數(shù)
System.out.print("隨機(jī)整數(shù)序列:");
for (int i = 0; i 5; i++) {
System.out.print(rd1.nextInt() + " ");
}
System.out.println();
// 指定隨機(jī)數(shù)產(chǎn)生的范圍
System.out.print("[0,10)范圍內(nèi)隨機(jī)整數(shù)序列: ");
for (int i = 0; i 10; i++) {
// Random的nextInt(int n)方法返回一個[0, n)范圍內(nèi)的隨機(jī)數(shù)
System.out.print(rd1.nextInt(10) + " ");
}
System.out.println();
System.out.print("[5,23)范圍內(nèi)隨機(jī)整數(shù)序列: ");
for (int i = 0; i 10; i++) {
// 因為nextInt(int n)方法的范圍是從0開始的,
// 所以需要把區(qū)間[5,28)轉(zhuǎn)換成5 + [0, 23)。
System.out.print(5 + rd1.nextInt(23) + " ");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范圍內(nèi)的隨機(jī)整數(shù)序列: ");
for (int i = 0; i 10; i++) {
System.out.print((int) (rd1.nextFloat() * 100) + " ");
}
System.out.println();
System.out.println();
// 使用帶參數(shù)的構(gòu)造方法構(gòu)造Random對象
// 構(gòu)造函數(shù)的參數(shù)是long類型,是生成隨機(jī)數(shù)的種子。
System.out.println("使用帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:");
Random ran2 = new Random(10);
// 對于種子相同的Random對象,生成的隨機(jī)數(shù)序列是一樣的。
System.out.println("使用種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列: ");
for (int i = 0; i 10; i++) {
System.out.print(ran2.nextInt(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使用另一個種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列: ");
for (int i = 0; i 10; i++) {
System.out.print(ran3.nextInt(10) + " ");
}
System.out.println();
// ran2和ran3生成的隨機(jī)數(shù)序列是一樣的,如果使用兩個沒帶參數(shù)構(gòu)造函數(shù)生成的Random對象,
// 則不會出現(xiàn)這種情況,這是因為在沒帶參數(shù)構(gòu)造函數(shù)生成的Random對象的種子缺省是當(dāng)前系統(tǒng)時間的毫秒數(shù)。
// 另外,直接使用Random無法避免生成重復(fù)的數(shù)字,如果需要生成不重復(fù)的隨機(jī)數(shù)序列,需要借助數(shù)組和集合類
}
}運(yùn)行結(jié)果:
C:\java RandomNumber
Math.random(): 0.525171492959965
使用不帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:
int: 636539740
long: -752663949229005813
float: 0.87349784
double: 0.4065973309853902
Gaussian: 0.4505871918488808
隨機(jī)整數(shù)序列:1936784917 1339857386 -1185229615 1883411721 1409219372
[0,10)范圍內(nèi)隨機(jī)整數(shù)序列: 1 1 5 5 9 0 1 0 2 4
[5,23)范圍內(nèi)隨機(jī)整數(shù)序列: 9 13 26 18 11 27 26 12 21 8
利用nextFloat()生成[0,99)范圍內(nèi)的隨機(jī)整數(shù)序列: 1 47 72 59 49 86 80 88 55 82
使用帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:
使用種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列:
3 0 3 0 6 6 7 8 1 4
使用另一個種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列:
3 0 3 0 6 6 7 8 1 4