Java desde a entrada até os exercícios do capítulo mestre - Capítulo Treze

Exercício 1 Enumeração do arco-íris

Exercício abrangente 1: Enumeração do arco-íris Escreva uma enumeração do arco-íris, que tem 7 cores de "vermelho, laranja, amarelo, verde, azul, índigo e roxo".

package org.hj.chapter13;

public enum RainbowEnum {
    
    
    RED("红色"),
    ORANGE("橙色"),
    YELLOW("黄色"),
    GREEN("绿色"),
    BLUE("蓝色"),
    INDIGO("靛色"),
    PURPLE("紫色");

    private String colorName;

    RainbowEnum(String colorName) {
    
    
        this.colorName = colorName;
    }

    public String getColorName() {
    
    
        return colorName;
    }
}

Ao usar esse tipo de enumeração, você pode acessar diretamente o nome da cor correspondente por meio do valor de enumeração. Por exemplo, você pode usar RainbowEnum.RED.getColorName() para obter o nome da cor vermelha.

Exercício 2 enumeração de gênero

Exercício Abrangente 2: Enumeração de Gênero Projete uma aula de toalete, forneça um método de entrada e exija que os meninos entrem apenas no banheiro masculino e as meninas apenas no banheiro feminino.

package org.hj.chapter13;

public enum GenderEnum {
    
    

    //0代表女性,1代表男性
    Female(0),
    Male(1);

    private Integer gender;

    GenderEnum(Integer gender) {
    
    
        this.gender = gender;
    }

    public Integer getGender() {
    
    
        return gender;
    }

    public static void main(String[] args) {
    
    
        int Female = 0;
        int Male = 1;
        Toilet.inlet(Female);
        Toilet.inlet(Male);
    }
}

class Toilet {
    
    

    //进入方法
    public static void inlet(Integer gender) {
    
    
        if (GenderEnum.Female.getGender().equals(gender)) {
    
    
            System.out.println("女生进入女厕所");
            return;
        }
        System.out.println("男生进入男厕所");
    }

}

Exercício 3 Dicas de Canal

Exercício Abrangente 3: Prompt de Canal Crie uma classe de canal, que tenha um método de entrada, e se um cliente entrar no canal, ele solicitará "Olá cliente, tenha cuidado ao escorregar". Não há conteúdo de prompt se o funcionário entrar no canal. Crie dois objetos de canal, um é um canal público e o outro é um canal de funcionário. Os clientes não podem entrar no corredor dos funcionários.

O tipo de canal e o tipo de pessoal podem ser definidos manualmente.

package org.hj.chapter13;

import java.util.Scanner;

public enum ChannelPromptEnum {
    
    

    customer(0,"顾客您好,小心地滑"),
    staff(1,""),
    ;

    private final Integer identity;

    private final String tip;

    ChannelPromptEnum(Integer identity, String tip) {
    
    
        this.identity = identity;
        this.tip = tip;
    }

    public Integer getIdentity() {
    
    
        return identity;
    }

    public String getTip() {
    
    
        return tip;
    }

    public static void main(String[] args) {
    
    

        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入创建通道类型(0为公共通道,1为员工通道):");
        int i = scanner.nextInt();
        Thoroughfare thoroughfare = new Thoroughfare(i);
        System.out.println("请输入身份(0为顾客,1为员工)");
        int i1 = scanner.nextInt();
        thoroughfare.inlet(i1);

    }

}

class Thoroughfare {
    
    

    //通道类型:0为公共通道;1为员工通道
    private final Integer thoroughfareType;

    public Thoroughfare(Integer thoroughfareType) {
    
    
        this.thoroughfareType = thoroughfareType;
    }

    public Integer getThoroughfareType() {
    
    
        return thoroughfareType;
    }
    
    

    //进入方法
    public void inlet(Integer identity) {
    
    
        //消费者,且通道类型为公共通道,消费者才能进入
        if (getThoroughfareType().equals(1)) {
    
    
            if (ChannelPromptEnum.customer.getIdentity().equals(identity)) {
    
    
                System.out.println("此通道为员工通道,游客止步");
                return;
            }
            System.out.println("员工进入员工通道");
            return;
        }
        if (ChannelPromptEnum.customer.getIdentity().equals(identity)) {
    
    
            System.out.println(ChannelPromptEnum.customer.getTip());
        }
    }
}

Exercício 4 configurações de permissão

Exercício Abrangente 4: Configuração de Autoridade Simule o módulo de configuração de autoridade da Tomorrow Academy, 0 significa turista, 1 significa usuário registrado, 2 significa membro VIP, 3 significa administrador, após inserir qualquer número de 0 a 3 no console, a saída de cada autoridade "privilégio". Visitantes: assistam a alguns vídeos, naveguem por todos os cursos, registrem-se, façam login; usuários registrados: assistam a todos os vídeos gratuitamente, alguns exercícios de apoio, cursos favoritos, perguntas em tempo real, configurações pessoais; Membros VIP: assistam a todos os vídeos gratuitamente, naveguem por todos exercícios e respostas, download do código-fonte e interação on-line regular; administrador: todos os módulos de gerenciamento em segundo plano e todos os módulos funcionais na recepção.

package org.hj.chapter13;

import java.util.Scanner;

public enum PermissionEnum {
    
    

    tourist(0, "观看部分视频、浏览所有课程、注册、登录"),
    users(1, "免费观看所有视频、部分配套习题、收藏课程、实时提问、个人设置"),
    vip(2, "免费观看所有视频、浏览所有习题及答案、源码下载、定期在线互动交流"),
    admin(3, "后台所有管理模块、前台所有功能模块"),
    ;

    private final Integer perm;

    private final String privilege;

    PermissionEnum(Integer perm, String privilege) {
    
    
        this.perm = perm;
        this.privilege = privilege;
    }

    public Integer getPerm() {
    
    
        return perm;
    }

    public String getPrivilege() {
    
    
        return privilege;
    }

    public static void main(String[] args) {
    
    

        boolean loop = true;
        //可一直循环查询,输入4后退出程序
        while (loop) {
    
    
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入0~3数字查看权限、输入4退出:");
            int i = scanner.nextInt();

            //利用枚举判断输入数字对应的权限
            if (i == 4) {
    
    
                loop = false;
            }
            if (PermissionEnum.tourist.getPerm().equals(i)) {
    
    
                System.out.println(PermissionEnum.tourist.getPerm() + "对应权限为:" + PermissionEnum.tourist.getPrivilege());
            }
            if (PermissionEnum.users.getPerm().equals(i)) {
    
    
                System.out.println(PermissionEnum.users.getPerm() + "对应权限为:" + PermissionEnum.users.getPrivilege());
            }
            if (PermissionEnum.vip.getPerm().equals(i)) {
    
    
                System.out.println(PermissionEnum.vip.getPerm() + "对应权限为:" + PermissionEnum.vip.getPrivilege());
            }
            if (PermissionEnum.admin.getPerm().equals(i)) {
    
    
                System.out.println(PermissionEnum.admin.getPerm() + "对应权限为:" + PermissionEnum.admin.getPrivilege());
            }
        }
    }
}

Exercício 5 Registro de Exame Físico

Exercício Abrangente 5: Registros do Exame Físico Siga as etapas abaixo para concluir a simulação do registro do exame físico:
(1) Crie uma enumeração de gênero com dois itens de enumeração, masculino e feminino.
(2) Crie uma classe de teste com três tipos genéricos: A, B e C. Use esses 3 tipos genéricos para criar 3 variáveis ​​de membro, respectivamente. Escreva um construtor que possa atribuir valores às 3 variáveis ​​de membro.
(3) Crie a primeira data de objeto de classe de teste, que é usada para registrar a data, e as três variáveis ​​de membro, respectivamente, registram os números inteiros que representam o ano, mês e dia e imprimem todos os valores de atributo do objeto de data no console.
(4) Crie um segundo objeto de classe de teste tom, que é usado para registrar informações de personagem, e três variáveis ​​de membro registram nome, altura e sexo, respectivamente. Name é uma string, height é um inteiro e gender usa a enumeração fornecida em (1). Imprima todos os valores de atributo do objeto tom no console.

package org.hj.chapter13;

/**
 * @description 体检记录
 */
public class MedicalRecordEnum {
    
    

    public static void main(String[] args) {
    
    

        //date
        TestClass<Integer, Integer, Integer> date = new TestClass<>();
        date.setA(2023);
        date.setB(04);
        date.setC(27);
        System.out.println(date);

        //tom
        TestClass<String, Integer, String> tom = new TestClass<>();
        tom.setA("tom");
        tom.setB(170);
        tom.setC(Gender.Male.getGender());
        System.out.println(tom);
    }
}

/**
 * 性别枚举
 */
enum Gender {
    
    

    Male("男性"),
    Female("女性");

    private final String gender;

    Gender(String gender) {
    
    
        this.gender = gender;
    }

    public String getGender() {
    
    
        return gender;
    }
}

class TestClass<A, B, C> {
    
    

    private A a;
    private B b;
    private C c;

    public void setA(A a) {
    
    
        this.a = a;
    }

    public void setB(B b) {
    
    
        this.b = b;
    }

    public void setC(C c) {
    
    
        this.c = c;
    }

    @Override
    public String toString() {
    
    
        return "TestClass{" +
                "a=" + a +
                ", b=" + b +
                ", c=" + c +
                '}';
    }
}

Acho que você gosta

Origin blog.csdn.net/dedede001/article/details/130369970
Recomendado
Clasificación