自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Hashtable來(lái)檢驗(yàn)隨機(jī)數(shù)的隨機(jī)性

開(kāi)發(fā) 后端
設(shè)計(jì)一個(gè)模擬銀行賬戶(hù)功能的類(lèi)Account根據(jù)它的要求實(shí)現(xiàn)它的功能,掌握類(lèi)和對(duì)象編程。設(shè)計(jì)一個(gè)描述二維平面上點(diǎn)的類(lèi)Point根據(jù)要求實(shí)現(xiàn)功能,掌握構(gòu)造方法的使用。

[[442212]]

大家好,我是Java進(jìn)階者。

一、使用Hashtable來(lái)檢驗(yàn)隨機(jī)數(shù)的隨機(jī)性

1.首先是創(chuàng)建Hashtable,使用for循環(huán)和定義一個(gè)產(chǎn)生隨機(jī)數(shù)的r,key值對(duì)應(yīng)隨機(jī)數(shù)的value值。

  1. import java.util.*; 
  2. class Counter{ 
  3.     int i =1; 
  4.     public String toString(){ 
  5.         return Integer.toString(i); 
  6. public class T12 { 
  7.     public static void main(String[] args) { 
  8.         Hashtable ht = new Hashtable(); 
  9.         for (int i =0;i < 500; i++){     
  10.             Integer r = new Integer((int)(Math.random()*10)); 
  11.             if(ht.containsKey(r)){ 
  12.                 ((Counter)ht.get(r)).i++; 
  13.             } 
  14.             else
  15.                 ht.put(r, new Counter()); 
  16.             } 
  17.         } 
  18.         System.out.println(ht); 

運(yùn)行的結(jié)果如下所示:

二、 設(shè)計(jì)一個(gè)模擬銀行賬戶(hù)功能的類(lèi)Account

1.要求如下所示:

(a)屬性:賬號(hào)(card,字符串類(lèi)型)、儲(chǔ)戶(hù)姓名(name,字符串類(lèi)型)、地址(address,字符串類(lèi)型)、存款余額(balance,浮點(diǎn)型)、最低余額(minBalance,浮點(diǎn)型)

(b)方法:初始化所有屬性的構(gòu)造方法、存款(deposit方法)、取款(draw方法)、查詢(xún)(query方法)

要求:存款操作需顯示儲(chǔ)戶(hù)原有余額、將要存款數(shù)額及最終存款余額;取款時(shí),若最后余額小于最小余額,拒絕取款并顯示"取款失敗,至少保留余額XXX";查詢(xún)操作能顯示儲(chǔ)戶(hù)賬號(hào)、姓名、地址、存款余額及最低余額。

2.例子的實(shí)現(xiàn):

  1. public class Account { 
  2.     String card;//賬號(hào) 
  3.     String name;//姓名 
  4.     String address;//地址 
  5.     double balance;//存款余額 
  6.     static double minBalance;//最低余額 
  7.     Account(String card,String name,String address,double balance){ 
  8.         this.card=card; 
  9.         this.name=name
  10.         this.address=address; 
  11.         this.balance=balance; 
  12.         Account.minBalance=5.0; 
  13.     //存款方法 
  14.     public void deposit(double m){ 
  15.         System.out.println("您賬戶(hù)余額:"+balance); 
  16.         System.out.println("存款數(shù)額 :"+m); 
  17.         balance+=m; 
  18.         System.out.println("最終存款余額:"+balance); 
  19.     //取款(draw方法) 
  20.     public void draw(double m){ 
  21.         double temp=balance-m; 
  22.         if(temp<minBalance){ 
  23.             System.out.println("取款失敗,至少保留余額為"+minBalance); 
  24.         }else
  25.             balance=temp
  26.         } 
  27.     //查詢(xún)方法 
  28.     public void query(){ 
  29.         System.out.println("您的賬號(hào):"+card+"\n姓名:"+name+"\n地址:"+address+"\n存款余額:"+balance+"\n最低余額:"+minBalance); 
  30.          
  31.     public static void main(String[] args) { 
  32.         // TODO Auto-generated method stub 
  33.         Account a=new Account("123456""張三""廣東省xx", 200.00); 
  34.         a.deposit(300.0); 
  35.         a.draw(200); 
  36.         a.query(); 

運(yùn)行的結(jié)果如下所示:

圖片

三、設(shè)計(jì)一個(gè)描述二維平面上點(diǎn)的類(lèi)Point

1.要求如下所示:

(a)該類(lèi)需要描述點(diǎn)的浮點(diǎn)型的橫坐標(biāo)x和縱坐標(biāo)y。

(b)提供能夠初始化橫縱坐標(biāo)的有參構(gòu)造方法,要求參數(shù)名稱(chēng)與屬性同名。

(c)計(jì)算兩點(diǎn)間距離的方法distance。

提示:兩點(diǎn)之間距離等于兩點(diǎn)橫縱坐標(biāo)之差的平方和再開(kāi)方Math類(lèi)中求平方根的方法:static double sqrt(double a)

2.例子的實(shí)現(xiàn):

  1. public class Point { 
  2.     double x,y;//橫坐標(biāo)x和縱坐標(biāo)y 
  3.     //有參數(shù)構(gòu)造方法 
  4.     Point(double x,double y){ 
  5.         this.x=x; 
  6.         this.y=y; 
  7.     //計(jì)算兩點(diǎn)間距離的方法distance 
  8.     double distance(Point a){ 
  9.         double i=Math.pow((a.x-this.x), 2); 
  10.         double j=Math.pow((a.y-this.y), 2); 
  11.         double c=Math.sqrt(i+j); 
  12.         return c; 
  13.     public static void main(String[] args) { 
  14.         Point p1=new Point(2,1); 
  15.         Point p2=new Point(1,1); 
  16.         double d=p1.distance(p2); 
  17.         System.out.print("兩點(diǎn)之間的距離為:"+d); 
  18.   } 

運(yùn)行的結(jié)果如下所示:

四、 數(shù)據(jù)類(lèi)型類(lèi)

1.數(shù)據(jù)類(lèi)型類(lèi):數(shù)據(jù)類(lèi)型類(lèi)也稱(chēng)為包裝類(lèi),它是封裝了基本的數(shù)據(jù)類(lèi)型。

如下圖所示:

2.數(shù)據(jù)類(lèi)型類(lèi)的常用方法

(a)對(duì)象名.intValue()是獲取對(duì)象的基本數(shù)據(jù)類(lèi)型例如int,float,char等。

(b)對(duì)象名.toString()是把基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換成字符串。

(c)類(lèi)名.valueOf(String str)是把str轉(zhuǎn)換成對(duì)應(yīng)的數(shù)據(jù)類(lèi)型對(duì)象。

五、總結(jié)

設(shè)計(jì)一個(gè)模擬銀行賬戶(hù)功能的類(lèi)Account根據(jù)它的要求實(shí)現(xiàn)它的功能,掌握類(lèi)和對(duì)象編程。設(shè)計(jì)一個(gè)描述二維平面上點(diǎn)的類(lèi)Point根據(jù)要求實(shí)現(xiàn)功能,掌握構(gòu)造方法的使用。數(shù)據(jù)類(lèi)型類(lèi)也稱(chēng)為包裝類(lèi),它是封裝了基本的數(shù)據(jù)類(lèi)型。

 

責(zé)任編輯:姜華 來(lái)源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2024-11-01 15:51:06

2015-10-13 10:00:58

Swift隨機(jī)數(shù)使用總結(jié)

2019-09-11 10:09:00

Java虛擬機(jī)算法

2009-12-02 17:01:01

PHP隨機(jī)數(shù)rand()

2025-04-21 01:19:59

2023-12-13 10:46:27

2016-01-21 09:55:51

2012-03-22 09:31:14

Java

2010-03-23 09:47:38

Python隨機(jī)數(shù)Python隨機(jī)字符串

2017-05-29 09:56:25

2021-06-01 22:31:57

區(qū)塊鏈隨機(jī)數(shù)技術(shù)

2011-07-08 15:11:03

JAVA

2010-03-11 12:48:25

Python生成隨機(jī)數(shù)

2009-06-11 15:16:18

不重復(fù)隨機(jī)數(shù)Java

2009-12-08 11:44:14

PHP獲取隨機(jī)數(shù)

2010-09-06 17:40:59

SQL函數(shù)

2024-01-25 11:32:21

2010-10-09 15:35:25

MySQL rand函

2009-12-08 12:58:33

PHP隨機(jī)數(shù)類(lèi)

2010-07-15 13:34:32

Perl隨機(jī)數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)