最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA隨機(jī)數(shù)隨機(jī)字母的實(shí)現(xiàn)(微信搶紅包小練習(xí))

 更新時(shí)間:2020年04月30日 10:16:13   作者:七七卡卡  
這篇文章主要介紹了JAVA隨機(jī)數(shù)隨機(jī)字母的實(shí)現(xiàn)(微信搶紅包小練習(xí)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

今天我們談一談JAVA中的隨機(jī)數(shù)

隨機(jī)數(shù) ——Math.random()

0.0 在Math類中存在一個(gè)random()方法,用于產(chǎn)生隨機(jī)數(shù)字,這個(gè)方法生成在0.0<=生成數(shù)<1.0

0.1那么它默認(rèn)的生成的數(shù)顯然在有些時(shí)候是滿足不了我們的,我們來(lái)看看它的升級(jí)版

類型 返回值
(int)(Math.Random()*n) 0<=返回值<n
m+(int)(Math.Random()*n) m<=返回值<m+n

隨機(jī)數(shù) ——字母

0.2 使用Math類的random() 方法也可以隨機(jī)生成字符,(a----z)
(char)('a'+Math.random()*('z'-'a'-1));

0.3 A-Z與a-z的寫法是不一樣的(char)(cha1+Math.random*(char2-cha1+1));

隨機(jī)數(shù) ——Random

0.4 除了Math 類,JAVA中還有Random可以創(chuàng)建數(shù)組。

Random c = mew Random;
Random c = new Random(seedValue);

c : Random類對(duì)象;
seedValue : 隨機(jī)數(shù)生成的種子;

0.6 下面是幾個(gè)常用的方法

類型 返回值
public int nextInt 返回一個(gè)隨機(jī)整數(shù)
public int nextInt(int n) 0<=返回值<0
public long nextLong() 返回一個(gè)隨機(jī)長(zhǎng)整型數(shù)
public boolean nextBoolean() 返回一個(gè)隨機(jī)布爾型值
public float nextFloat() 返回一個(gè)浮點(diǎn)型
public doublle nextDouble() 返回一個(gè)雙精度值

微信搶紅包

我想大家一定在微信里搶過紅包或者發(fā)過紅包,今天我們就帶領(lǐng)大家用JAVA制作一個(gè)微信的小程序。

1.0 我們先創(chuàng)建一個(gè)控制掃描器,輸入顯示發(fā)出的金額與紅包個(gè)數(shù)

 System.out.println("--------微信搶紅包---------");
 	 Scanner sc = new Scanner (System.in);
 	 System.out.println("金額¥");
 	 double total = sc.nextDouble();
 	 System.out.println("發(fā)出紅包個(gè)數(shù)");
 	 int num = sc.nextInt();

1.1 我們的紅包在散發(fā)出去的時(shí)候是不會(huì)出現(xiàn) 0¥ 所以我們先確定他的最小值并創(chuàng)建隨機(jī)數(shù)。

Random c = new Random();
double min = 0.01;

1.2 隨后我們用一個(gè) for 循環(huán)來(lái)循環(huán)發(fā)放我們的紅包;

for(int i=1;i<=num;i++)

1.3 我們所搶的紅包并不是平均發(fā)放的,它有最大值最小值,所以我們要?jiǎng)?chuàng)建一個(gè)最大值和最小值
我們的最大值如果等于我們紅包錢數(shù)總數(shù),那我們的其他的紅包豈不就是沒有錢了,所以,我們需要一個(gè)公式,

最大金額 =可分配金額 - (紅包個(gè)數(shù) - 已發(fā)出的紅包數(shù))*紅包最小金額
double max = total - (num - i)* min;

1.4 我們并不是將所有的錢放到紅包里所以我們?cè)俣x一下紅包的范圍

double range = max - min;//

1.5 現(xiàn)在我們開始計(jì)算應(yīng)該放多少錢了,這一步有一點(diǎn)點(diǎn)繞。

double money = c.nextInt(range);

但我們?cè)诰幾g器里我們會(huì)發(fā)現(xiàn)報(bào)錯(cuò)了


這是因?yàn)?code>nextInt()他的返回值(參數(shù))是一個(gè)整型值,而我們的rangemoney他們都是 double 值,這樣當(dāng)然會(huì)報(bào)錯(cuò)了。

那我們?cè)趺锤哪兀?br />

例如我們的range是23.56這是一個(gè)double值,我們將range*100 23.56*100=2356,隨后我們?cè)賹⑺鼜?qiáng)制轉(zhuǎn)換成整數(shù)

double money = c.nextInt((int)range*100);

但我們最終的結(jié)果為2356¥,顯然這是將我們的紅包是在無(wú)形中放大了100倍,這樣誰(shuí)還會(huì)愿意發(fā)紅包呢?咋解決,很簡(jiǎn)單我們之前 23.56*100 我們?cè)俪?00是不是就右變回去了,最后啊我們?cè)俜祷匾粋€(gè)double值就可以了

double money = (double)c.nextInt((int)range*100)/100;

這樣我們就在range的范圍里獲取了隨機(jī)的金額。

1.6 我們之前說(shuō)了nextInt()這個(gè)方法它有一個(gè)弊端,它的返回值范圍是0<=返回值<0,也就是說(shuō)我們的紅包還會(huì)出現(xiàn)0¥。
為了防止0¥的出現(xiàn),我們定義一個(gè) finalMoney

double finalMoney = money + min;

這才是我們最后的金額

1.7 上面是我們第一個(gè)紅包所發(fā)出的金額,那我們的第2第3第num個(gè)紅包的金額是多少呢?

total = total - finalMoney;

現(xiàn)在的total才是我們下一個(gè)紅包的 可分配金額。
隨后我們輸出

System.out.println("第"+i+"個(gè)紅包金額"+String.format("%.2f",finalMoney)+"¥");

(%.2f意思是保留兩位小數(shù))
最后啊我們將掃描器關(guān)掉

sc.close();

1.8 來(lái)我們?cè)囈幌?br />


這就是我們的微信搶紅包的游戲。

1.9完整代碼:

public static void main(String[] args) {
 	 System.out.println("--------微信搶紅包---------");
 	 Scanner sc = new Scanner (System.in);
 	 System.out.println("金額¥");
 	 double total = sc.nextDouble();
 	 System.out.println("發(fā)出紅包個(gè)數(shù)");
 	 int num = sc.nextInt();
 	 
 	 double min = 0.01;//紅包最小金額
 	 Random c = new Random();//創(chuàng)建隨機(jī)數(shù)
 	 
 	 for(int i=1;i<=num;i++) {
 		 /*
 		 * 最大金額 =可分配金額 - (紅包個(gè)數(shù) - 已發(fā)出的紅包數(shù))*紅包最小金額
 		 */
 		 double max = total - (num - i)* min;
 		 double range = max - min;//
 		 
 		 double money = (double)c.nextInt((int)(range*100))/100;
 		 double finalMoney = money + min;
 		 total = total - finalMoney;
 		 System.out.println("第"+i+"個(gè)紅包金額"+String.format("%.2f",finalMoney)+"¥");
 	 }//保留兩位小數(shù)
 	 
 	 sc.close();
 	 
	}

當(dāng)你現(xiàn)在還是19或20歲的少年,你會(huì)覺得一個(gè)人的生命其實(shí)很漫長(zhǎng),但當(dāng)你看到那些年邁的老人時(shí),你會(huì)覺得我也有這樣的一天,一個(gè)人的生命其實(shí)也非常短暫,我們通過媒體了解32歲猝然離世功夫巨星李小龍,但他的一生充滿了傳奇,在凌晨我們的手機(jī)幾乎在同一時(shí)間給我們傳來(lái)了噩耗,曼巴離我們而去,但他的一生充滿了熱愛,還有我們的吹哨人,在疫情期間那些英年早逝的英雄們,他們的一生充滿了正能量與奉獻(xiàn)?;剡^去想想,你是否還是從前那個(gè)少年,是否沒有一絲絲改變————

到此這篇關(guān)于JAVA隨機(jī)數(shù)隨機(jī)字母的實(shí)現(xiàn)(微信搶紅包小練習(xí))的文章就介紹到這了,更多相關(guān)JAVA隨機(jī)數(shù)隨機(jī)字母內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • spring?security?自定義Provider?如何實(shí)現(xiàn)多種認(rèn)證

    spring?security?自定義Provider?如何實(shí)現(xiàn)多種認(rèn)證

    這篇文章主要介紹了spring?security?自定義Provider實(shí)現(xiàn)多種認(rèn)證方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java使用xfire搭建webservice服務(wù)的過程詳解

    java使用xfire搭建webservice服務(wù)的過程詳解

    這篇文章主要介紹了java使用xfire搭建webservice服務(wù)的過程。使用xfire搭建webService的服務(wù),可以在瀏覽器訪問。對(duì)此感興趣的可以了解一下
    2020-07-07
  • WebService的相關(guān)概念

    WebService的相關(guān)概念

    這篇文章主要介紹了WebService的相關(guān)概念的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Springboot集成ClickHouse及應(yīng)用場(chǎng)景分析

    Springboot集成ClickHouse及應(yīng)用場(chǎng)景分析

    這篇文章主要介紹了Springboot集成ClickHouse的實(shí)例代碼,本文通過應(yīng)用場(chǎng)景實(shí)例代碼介紹了整合springboot的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • 關(guān)于集合和字符串的互轉(zhuǎn)實(shí)現(xiàn)方法

    關(guān)于集合和字符串的互轉(zhuǎn)實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇關(guān)于集合和字符串的互轉(zhuǎn)實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2016-08-08
  • 詳解Spring如何注入靜態(tài)變量

    詳解Spring如何注入靜態(tài)變量

    這篇文章主要為大家詳細(xì)介紹了Spring是如何注入靜態(tài)變量的,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06
  • SpringBoot返回文件使前端下載的幾種方式小結(jié)

    SpringBoot返回文件使前端下載的幾種方式小結(jié)

    本文主要介紹了Spring Boot中幾種文件下載的方法,通過后端應(yīng)用下載文件并進(jìn)行業(yè)務(wù)處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Spring解決循環(huán)依賴問題及三級(jí)緩存的作用

    Spring解決循環(huán)依賴問題及三級(jí)緩存的作用

    這篇文章主要介紹了Spring解決循環(huán)依賴問題及三級(jí)緩存的作用,所謂的三級(jí)緩存只是三個(gè)可以當(dāng)作是全局變量的Map,Spring的源碼中大量使用了這種先將數(shù)據(jù)放入容器中等使用結(jié)束再銷毀的代碼風(fēng)格
    2022-07-07
  • 一文帶你探究Spring中Bean的線程安全性問題

    一文帶你探究Spring中Bean的線程安全性問題

    很多人都想spring中的bean是線程安全的嗎?本文將帶你探究Spring中Bean的線程安全性問題,感興趣的同學(xué)可以參考閱讀下
    2023-05-05
  • spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法

    spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法

    這篇文章主要介紹了spring boot整合quartz實(shí)現(xiàn)多個(gè)定時(shí)任務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-01-01

最新評(píng)論

南宫市| 漳浦县| 屯门区| 龙口市| 鄂温| 黄浦区| 万全县| 巫山县| 白水县| 灵武市| 浦江县| 仁怀市| 岑巩县| 呈贡县| 筠连县| 高要市| 裕民县| 朝阳县| 彰化县| 调兵山市| 闻喜县| 绥芬河市| 牡丹江市| 赤城县| 凉山| 泽州县| 和龙市| 九江县| 云梦县| 黄梅县| 博爱县| 沙洋县| 竹溪县| 济阳县| 广东省| 嵊州市| 漳州市| 凤城市| 正镶白旗| 湄潭县| 固安县|