大家好,我是Java進階者。
一、使用Hashtable來檢驗隨機數(shù)的隨機性
1.首先是創(chuàng)建Hashtable,使用for循環(huán)和定義一個產(chǎn)生隨機數(shù)的r,key值對應(yīng)隨機數(shù)的value值。
- import java.util.*;
- class Counter{
- int i =1;
- public String toString(){
- return Integer.toString(i);
- }
- }
- public class T12 {
- public static void main(String[] args) {
- Hashtable ht = new Hashtable();
- for (int i =0;i < 500; i++){
- Integer r = new Integer((int)(Math.random()*10));
- if(ht.containsKey(r)){
- ((Counter)ht.get(r)).i++;
- }
- else{
- ht.put(r, new Counter());
- }
- }
- System.out.println(ht);
- }
- }
運行的結(jié)果如下所示:
二、 設(shè)計一個模擬銀行賬戶功能的類Account
1.要求如下所示:
(a)屬性:賬號(card,字符串類型)、儲戶姓名(name,字符串類型)、地址(address,字符串類型)、存款余額(balance,浮點型)、最低余額(minBalance,浮點型)
(b)方法:初始化所有屬性的構(gòu)造方法、存款(deposit方法)、取款(draw方法)、查詢(query方法)
要求:存款操作需顯示儲戶原有余額、將要存款數(shù)額及最終存款余額;取款時,若最后余額小于最小余額,拒絕取款并顯示"取款失敗,至少保留余額XXX";查詢操作能顯示儲戶賬號、姓名、地址、存款余額及最低余額。
2.例子的實現(xiàn):
- public class Account {
- String card;//賬號
- String name;//姓名
- String address;//地址
- double balance;//存款余額
- static double minBalance;//最低余額
- Account(String card,String name,String address,double balance){
- this.card=card;
- this.name=name;
- this.address=address;
- this.balance=balance;
- Account.minBalance=5.0;
- }
- //存款方法
- public void deposit(double m){
- System.out.println("您賬戶余額:"+balance);
- System.out.println("存款數(shù)額 :"+m);
- balance+=m;
- System.out.println("最終存款余額:"+balance);
- }
- //取款(draw方法)
- public void draw(double m){
- double temp=balance-m;
-
if(temp
- System.out.println("取款失敗,至少保留余額為"+minBalance);
- }else{
- balance=temp;
- }
- }
- //查詢方法
- public void query(){
- System.out.println("您的賬號:"+card+"\n姓名:"+name+"\n地址:"+address+"\n存款余額:"+balance+"\n最低余額:"+minBalance);
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Account a=new Account("123456", "張三", "廣東省xx", 200.00);
- a.deposit(300.0);
- a.draw(200);
- a.query();
- }
- }
運行的結(jié)果如下所示:

三、設(shè)計一個描述二維平面上點的類Point
1.要求如下所示:
(a)該類需要描述點的浮點型的橫坐標(biāo)x和縱坐標(biāo)y。
(b)提供能夠初始化橫縱坐標(biāo)的有參構(gòu)造方法,要求參數(shù)名稱與屬性同名。
(c)計算兩點間距離的方法distance。
提示:兩點之間距離等于兩點橫縱坐標(biāo)之差的平方和再開方Math類中求平方根的方法:static double sqrt(double a)
2.例子的實現(xiàn):
- public class Point {
- double x,y;//橫坐標(biāo)x和縱坐標(biāo)y
- //有參數(shù)構(gòu)造方法
- Point(double x,double y){
- this.x=x;
- this.y=y;
- }
- //計算兩點間距離的方法distance
- double distance(Point a){
- double i=Math.pow((a.x-this.x), 2);
- double j=Math.pow((a.y-this.y), 2);
- double c=Math.sqrt(i+j);
- return c;
- }
- public static void main(String[] args) {
- Point p1=new Point(2,1);
- Point p2=new Point(1,1);
- double d=p1.distance(p2);
- System.out.print("兩點之間的距離為:"+d);
- }
- }
運行的結(jié)果如下所示:
四、 數(shù)據(jù)類型類
1.數(shù)據(jù)類型類:數(shù)據(jù)類型類也稱為包裝類,它是封裝了基本的數(shù)據(jù)類型。
如下圖所示:
2.數(shù)據(jù)類型類的常用方法
(a)對象名.intValue()是獲取對象的基本數(shù)據(jù)類型例如int,float,char等。
(b)對象名.toString()是把基本數(shù)據(jù)類型轉(zhuǎn)換成字符串。
(c)類名.valueOf(String str)是把str轉(zhuǎn)換成對應(yīng)的數(shù)據(jù)類型對象。
五、總結(jié)
設(shè)計一個模擬銀行賬戶功能的類Account根據(jù)它的要求實現(xiàn)它的功能,掌握類和對象編程。設(shè)計一個描述二維平面上點的類Point根據(jù)要求實現(xiàn)功能,掌握構(gòu)造方法的使用。數(shù)據(jù)類型類也稱為包裝類,它是封裝了基本的數(shù)據(jù)類型。
原文鏈接:https://mp.weixin.qq.com/s/Q8ciHAVPunmoRqvGdCgUDw