那些年,我们一起做过的 Java 课后练习题(56 - 60)

简介: 那些年,我们一起做过的 Java 课后练习题(56 - 60)

实例 56

题目

设计一个装备类 Equipment,该类有两个属性,一个是名字 name,类型为字符串类型,另一个是价格 price,类型为 int。然后实例化 3 件具体装备并打印其名字和价格。


分析

主要考察类的创建以及如何实例化一个对象,并且伴随有重写 toString() 方法。


实现


/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @project : Java 编程实例
 * @package : PACKAGE_NAME
 * @className : Example56
 * @createTime : 2021/7/3 22:23
 * @email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @website : https://cunyu1943.github.io
 * @description :
 */
public class Example56 {
    public static void main(String[] args) {
        Equipment equipment1 = new Equipment("饮血之刃", 1500);
        Equipment equipment2 = new Equipment("破军", 2000);
        Equipment equipment3 = new Equipment("攻速鞋", 500);
        System.out.println("伽罗目前的装备为:");
        System.out.println(equipment1.toString());
        System.out.println(equipment2.toString());
        System.out.println(equipment3.toString());
    }
}
class Equipment {
    private String name;
    private int price;
    public Equipment() {
    }
    public Equipment(String name, int price) {
        this.name = name;
        this.price = price;
    }
    @Override
    public String toString() {
        return "装备名:" + name + ", 价格:" + price;
    }
}

image.png实例 57

题目

现在王者荣耀很火,相信大部分人也玩过,那我们就来定义一个英雄类,用来作为王者荣耀里的各英雄的父类。一般来讲,一个英雄有名字、血量、蓝量、初始移动速度、攻击值……,我们需要做的,就是将这些作为类的属性尽可能地添加到类中。


分析

主要考察如何定义类,以及如何添加类中的属性,而且如何选择属性的数据类型。


实现


/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @project : Java 编程实例
 * @package : PACKAGE_NAME
 * @className : Example57
 * @createTime : 2021/7/4 8:40
 * @email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @website : https://cunyu1943.github.io
 * @description :
 */
public class Example57 {
    public static void main(String[] args) {
        Hero hero = new Hero("虞姬", 3000, 1000, 50, 800, 0, 0, 0);
        System.out.println("英雄信息如下");
        System.out.println(hero.toString());
    }
}
class Hero {
    private String name;
    private float hp;
    private float mp;
    private int initSpeed;
    private int attack;
    private int killed;
    private int beKilled;
    private int assist;
    public Hero() {
    }
    public Hero(String name, float hp, float mp, int initSpeed, int attack, int killed, int beKilled, int assist) {
        this.name = name;
        this.hp = hp;
        this.mp = mp;
        this.initSpeed = initSpeed;
        this.attack = attack;
        this.killed = killed;
        this.beKilled = beKilled;
        this.assist = assist;
    }
    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer();
        sb.append("名字 = '").append(name).append('\'');
        sb.append(", 血量 = ").append(hp);
        sb.append(", 蓝量 = ").append(mp);
        sb.append(", 初始速度 = ").append(initSpeed);
        sb.append(", 攻击值 = ").append(attack);
        sb.append(", 击杀数 = ").append(killed);
        sb.append(", 被击杀数 = ").append(beKilled);
        sb.append(", 助攻数 = ").append(assist);
        return sb.toString();
    }
}

image.png

实例 58

题目

既然王者荣耀中的英雄有很多属性,而且也有很多装备,我们买了装备之后就会给我们的英雄加血量、加攻击值或则加移动速度之类。我们就来定义几个方法,用于购买装备后给我们的英雄增加属性值。

分析

主要考察如何给我们的类定义方法。

实现

/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @project : Java 编程实例
 * @package : PACKAGE_NAME
 * @className : Example58
 * @createTime : 2021/7/4 8:58
 * @email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @website : https://cunyu1943.github.io
 * @description :
 */
public class Example58 {
    public static void main(String[] args) {
        Hero hero = new Hero("虞姬", 3000, 1000, 50, 800, 0, 0, 0);
        System.out.println("英雄初始信息如下");
        System.out.println(hero.toString());
        hero.addAttack(1000);
        hero.addSpeed(100);
        hero.addKilled(5);
        System.out.println("英雄增加属性后信息如下");
        System.out.println(hero.toString());
    }
}
class Hero {
    private String name;
    private float hp;
    private float mp;
    private int initSpeed;
    private int attack;
    private int killed;
    private int beKilled;
    private int assist;
    public Hero() {
    }
    public Hero(String name, float hp, float mp, int initSpeed, int attack, int killed, int beKilled, int assist) {
        this.name = name;
        this.hp = hp;
        this.mp = mp;
        this.initSpeed = initSpeed;
        this.attack = attack;
        this.killed = killed;
        this.beKilled = beKilled;
        this.assist = assist;
    }
    public void addSpeed(int add) {
        System.out.println("购买了鞋子");
        this.initSpeed += add;
    }
    public void addAttack(int add) {
        System.out.println("购买了攻击装");
        this.attack += add;
    }
    public void addKilled(int add) {
        System.out.println("你击杀了一名敌人");
        this.killed += add;
    }
    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer();
        sb.append("名字 = '").append(name).append('\'');
        sb.append(", 血量 = ").append(hp);
        sb.append(", 蓝量 = ").append(mp);
        sb.append(", 初始速度 = ").append(initSpeed);
        sb.append(", 攻击值 = ").append(attack);
        sb.append(", 击杀数 = ").append(killed);
        sb.append(", 被击杀数 = ").append(beKilled);
        sb.append(", 助攻数 = ").append(assist);
        return sb.toString();
    }
}

image.png

实例 59

题目

设计一个方法,用于计算你的 BMI 值是多少,其中 BMI = 体重(kg)/ 身高(m) * 身高(m)

分析

输入体重和身高,然后调用方法计算 BMI 即可。

实现

import java.util.Scanner;
/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @project : Java 编程实例
 * @package : PACKAGE_NAME
 * @className : Example59
 * @createTime : 2021/7/4 9:46
 * @email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @website : https://cunyu1943.github.io
 * @description :
 */
public class Example59 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入体重 kg");
        float weight = scanner.nextFloat();
        System.out.println("输入身高 m");
        float height = scanner.nextFloat();
        System.out.println("BMI = " + calcBMI(height, weight));
    }
    public static double calcBMI(float height, float weight) {
        return weight / height / height;
    }
}

image.png实例 60

题目

通过输入的月份,判断该月处于哪一个季节。


分析

主要考察 switch 多分支的判断,而且要注意,要结束一个分支的判断时,需要有 break。要注意 switch 自从 JDK 1.7 及之后是支持 String 类型的。当然也可以使用 if 进行判断。


实现


import java.util.Scanner;
/**
 * Created with IntelliJ IDEA.
 *
 * @author : 村雨
 * @version : 1.0
 * @project : Java 编程实例
 * @package : PACKAGE_NAME
 * @className : Example60
 * @createTime : 2021/7/4 10:00
 * @email : 747731461@qq.com
 * @公众号 : 村雨遥
 * @website : https://cunyu1943.github.io
 * @description :
 */
public class Example60 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入月份");
        int month = scanner.nextInt();
        switch (month) {
            case 3:
            case 4:
            case 5:
                System.out.println(month + " 月是春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println(month + " 月是夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println(month + " 月是秋季");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println(month + " 月是冬季");
                break;
            default:
                break;
        }
    }
}

image.png

目录
相关文章
|
SQL Java API
JavaWeb第三章课后题 DBUtils工具包
JavaWeb第三章课后题 DBUtils工具包
80 0
|
6月前
|
JavaScript Java 测试技术
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
43 2
JavaWeb第十二章课后题 过滤器Filter详解
JavaWeb第十二章课后题 过滤器Filter详解
193 0
|
Java
JavaWeb第十章课后题 EL表达式
JavaWeb第十章课后题 EL表达式
196 0
JavaWeb第十三章课后题 监听器Listener详解
JavaWeb第十三章课后题 监听器Listener详解
85 0
|
Java
JavaWeb第十一章课后题 JSTL标签库
JavaWeb第十一章课后题 JSTL标签库
185 0
|
存储 Java 对象存储
JavaWeb第八章课后题 会话跟踪
JavaWeb第八章课后题 会话跟踪
136 0
|
存储 Java 关系型数据库
Java实用教程第五版课后习题
1.Person.java。 2.两个字节码,分别是Person.class和Xiti.class。 3.得到“找不到 main 方法” 得到"无法加载主类 xiti" 得到“无法加载主类 xiti.class” 得到“您好,很高兴认识您 nice to meet you”
312 0
Java实用教程第五版课后习题
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
|
机器学习/深度学习 Java
那些年,我们一起做过的 Java 课后练习题(66 - 70)
那些年,我们一起做过的 Java 课后练习题(66 - 70)
94 0
那些年,我们一起做过的 Java 课后练习题(66 - 70)