3.23作业

1.

package com.sdbi.yangyang;

//设计一个用户类User,类中的变量有用户名、密码和记录用户数量的变量,定义3个构造方法:无参的、为用户名赋值的、
//为用户名和密码赋值的,还有获取和设置密码的方法和返回类信息的方法。
public class User {
    private String name;
    private String password;
    public static int number;
    public User() {
        
    }
    public User(String name) {
        this.name=name;
    }
    void setName(String name) {
        this.name=name;
        if(name!=null) {
            number++;
        }
    }
    String getName() {
        return name;
    }
    void setPassword(String password) {
        this.password=password;
    }
    String getPassword() {
        return password;
    }
    public User(String name,String password) {
        this.name=name;
        this.password=password;
        number++;    
    }
    public void print() {
        System.out.println("用户名:"+name+"      "+"密码:"+password);
    }
    public void number() {
        System.out.println("用户个数:"+number);
    }

}
package com.sdbi.yangyang;

public class Test01 {
    public static void main(String[] args) {
        User user1=new User("张三","12345");
        user1.print();
        User user2=new User("李四","24687");
        user2.print();
        User user3=new User("王五","666666");
        user3.print();
        new User().number();
    }
}

 2.

package com.sdbi.yangyang;

import java.util.Arrays;

//设计一副牌Poker的外部类和一张牌Card的内部类。
//(1)Poker类中定义私有成员花色数组、点数数组以及一副牌的数组属性,提供构造方法(创建并初始化一副牌的数组)、
//随机洗牌方法shuffle(Math.random()获取[0,1)的随机数;获取[n,m)的随机数公式为Math.random()*(m-n)+n)和发牌方法deal。
//(2)Card类中定义花色和点数属性,提供打印信息方法。
//(3)定义测试类并在main()方法中创建一副牌Poker对象,并调用shufle()进行洗牌,调用deal()进行发牌。

public class Poker {
        // 一张牌Card的内部类
        public class Card {
            private String suite;// 定义牌的花色
            private String face;// 定义牌的点数

            public Card(String suite, String face) {
                this.suite = suite;
                this.face = face;
            }

            // 定义toString()方法,返回扑克牌的花色和点数组合的字符串
            public String toString() {
                return suite + face;
            }

        }

        // 定义私有成员花色数组、点数数组以及一副牌的数组属性
        private String[] suites = { "黑桃", "红心", "梅花", "方块" };
        private String[] faces = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
        private static Card[] cards;

        // 创建一个外部类的构造方法,用于实现初始化一副牌的数组
        public Poker() {
            // 定义cards 数组长度为52,用于存储52个Card内部类创建出的对象
            cards = new Card[52];
            // 外for循环,用于遍历出所有花色
            for (int i = 0; i < suites.length; i++) {
                // 内for循环,用于遍历出所有的点数
                for (int j = 0; j < faces.length; j++) {
                    cards[i * 13 + j] = new Card(suites[i], faces[j]);
                    
                }
            }
        }

        // 构造随机洗牌的方法shuffle
        public void shuffle() {

            for (int i = 0; i < cards.length; i++) {
                // random()方法为Math类的静态方法,可以直接用Math.random()的形式去调用
                // 功能为获取[0,1)范围内数据类型为double的随机数
                // 因为有double类型的随机数参与运算,故需要添加(int)将其强制转换为int类型的数据
                int num = (int) (Math.random() * cards.length);
                Card temp = cards[num];
                cards[num] = cards[i];
                cards[i] = temp;
            }
        }

        // 构造发牌的方法deal
        public void deal(Card[] cards) {
            // 此处调用了Arrays类的toString方法,可以将数组中存储的内容以字符串的表示形式出来;
            // 此方法属于静态方法,可以直接用(类名)Arrays.toString()的形式来调用,
            // 需要传入静态的外部类成员变量作为参数,故前面定义的Card[] cards为静态成员变量
            System.out.println(Arrays.toString(cards));

        }

        public static void main(String[] args) {
            // 构建一个外部类对象,在构造方法的内部初始化了一副牌的数组
            Poker poker = new Poker();
            System.out.println("洗牌前:");
            poker.deal(cards);
            poker.shuffle();
            System.out.println("洗牌后:");
            poker.deal(cards);
        }
}
    

 

posted @ 2022-03-27 12:45  莯梵  阅读(47)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/xiaokang01/js.js 这是添加的文件的链接 color="240,230,140" 粒子的颜色设置 opacity="1" 粒子的透明度 count="75" 粒子的个数 https://blog-static.cnblogs.com/files/xiaokang01/js.js 这是添加的文件的链接 color="240,230,140" 粒子的颜色设置 opacity="1" 粒子的透明度 count="75" 粒子的个数