面向对象编程练习

1、编程题

设计一个用户类User,类中的变量有用户名、密码和记录用户数量的变量,定义3个构造方法:无参的、为用户名赋值的、为用户名和密码赋值的,还有获取和设置密码的方法和返回类信息的方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.lvlei;
 
public class User {
       private String name;
        private String password;
        private static int count;
        public User() {
            count++;
        }
        public User(String name) {
            this.name=name;
            count++;
        }
        public User(String name,String password) {
            this.name=name;
            this.password=password;
            count++;
        }
        public String getName() {
            return name;
        }
        public void setname() {
            this.name=name;
        }
        public String getPassword(String name){
            return password;
        }
        public void setPassword() {
            this.password=password;
        }
        public void print(){
            System.out.println("用户名:"+name+"\t"+"密码:"+password);
        }
        public void count() {
            System.out.println("用户个数"+(count-1));
        }
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.lvlei;
 
public class Test02 {
    public static void main(String[] args) {
        User user1=new User("李四","123456");
        user1.print();
        User user2=new User("张三","542189");
        user2.print();
        User user3=new User("吕磊","252559");
        user3.print();
        new User().count();
    }
}

  

 

2、编程题

设计一副牌Poker的外部类和一张牌Card的内部类。

(1)Poker类中定义私有成员花色数组、点数数组以及一副牌的数组属性,提供构造方法(创建并初始化一副牌的数组)、随机洗牌方法shuffle(Math.random()获取[0,1)的随机数;获取[n,m)的随机数公式为Math.random()*(m-n)+n)和发牌方法deal。

(2)Card类中定义花色和点数属性,提供打印信息方法。

(3)定义测试类并在main()方法中创建一副牌Poker对象,并调用shufle()进行洗牌,调用deal()进行发牌。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package lvlei;
 
class Poker {
 
         
            public class Card
            {
                private String suite;
                private int face;
          
                public Card(String suite, int face)
                {
                    this.suite = suite;
                    this.face = face;
                }
                public String toString()
                {
                    String faceStr = "";
                    switch (face)
                    {
                    case 1:
                        faceStr = "A";
                        break;
                    case 11:
                        faceStr = "J";
                        break;
                    case 12:
                        faceStr = "Q";
                        break;
                    case 13:
                        faceStr = "K";
                        break;
                    default:
                        faceStr = String.valueOf(face);
                    }
                    return suite + faceStr;
                }
            }
          
            private static String[] suites = { "黑桃", "红桃", "梅花", "方块" };
            private static int[] faces = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
            private Card[] cards;
          
            public Poker()
            {
                cards = new Card[52];
                for (int i = 0; i < suites.length; i++)
                {
                    for (int j = 0; j < faces.length; j++)
                    {
                        cards[i * 13 + j] = new Card(suites[i], faces[j]);
                    }
                }
            }
          
              
            public void shuffle()
            {
                int len = cards.length;
                for (int i = 0; i < len; i++)
                {
                    int index = (int) (Math.random() * len);
                    Card temp = cards[index];
                    cards[index] = cards[i];
                    cards[i] = temp;
                }
            }
          
             
            public Card getCard(int index)
            {
                return cards[index];
            }
             
        }

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package lvlei;
 
public class dsd {
    public static void main(String[] args) {
        Poker poker=new Poker();
        poker.shuffle();
        Poker.Card c1 = poker.getCard(0); 
        Poker.Card c2 = poker.getCard(1);   
        System.out.println(c1);      
        System.out.println(c2);     
  
    }
 
 
}

  

 

 

posted @   2840  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示