Java基础学习day05-作业

简介: 本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。

Java基础学习day05-作业

案例一

// 需求1:
// 定义一个女朋友类。女朋友的属性包含:姓名,身高,体重。
// 定义测试类,请在测试类中通过无参构造创建对象,通过set方法给属性进行赋值。通过有参构造创建对象。
// 最终,把两个对象的属性输出

public class GirlFriend {

    // 属性
    private String name;
    private double height;
    private double weight;

    // 无参构造
    public GirlFriend() {

    }

    // 全参构造
    public GirlFriend(String name, double height, double weight) {
        this.name = name;
        this.height = height;
        this.weight = weight;
    }

    // set/get方法
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    public double getHeight() {
        return height;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public double getWeight() {
        return weight;
    }
}
// 输出效果:
// 我女朋友叫凤姐,身高155.0厘米,体重130.0斤
// 我女朋友叫迪妮热巴,身高175.0厘米,体重90.0斤

public class GirlFriendTest {
    public static void main(String[] args) {

        // 无参构造
        GirlFriend gf1 = new GirlFriend();
        gf1.setName("凤姐");
        gf1.setHeight(155);
        gf1.setWeight(130);
        System.out.println("我女朋友叫" + gf1.getName() + ",身高" + gf1.getHeight() + "厘米,体重" + gf1.getWeight() + "斤");

        // 有参构造
        GirlFriend gf2 = new GirlFriend("迪妮热巴", 175, 90);
        System.out.println("我女朋友叫" + gf2.getName() + ",身高" + gf2.getHeight() + "厘米,体重" + gf2.getWeight() + "斤");

    }
}


案例二

// 需求二:
// 定义标准学生类,属性包括姓名和年龄,定义一个成员方法,show()用于展示当前学生对象的信息。
// 在测试类中,要求分别使用空参和有参构造方法创建对象,空参创建的对象通过setXx赋值,
// 有参创建的对象直接赋值,并通过show方法展示数据。

public class Student {

    // 属性
    private String name;
    private int age;

    // 空参构造
    public Student() {

    }

    // 全参构造
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // set/get方法
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    // show方法
    public void show() {
        System.out.println("姓名:" + name + ", 年龄:" + age);
    }
}
// 输出效果:
// 姓名:张三,年龄:23
// 姓名:李四,年龄:24

public class StudentTest {
    public static void main(String[] args) {

        // 空参构造创建
        Student s1 = new Student();
        s1.setName("张三");
        s1.setAge(23);
        s1.show();

        // 全参构造创建
        Student s2 = new Student("李四", 24);
        s2.show();
    }
}

案例三

// 案例三:
// 请定义教师类(Teacher),属性包括姓名和工号,定义教课(teach)方法,输出“工号为xxx的xxx老师正在讲课”。
// 在测试类中,要求分别使用空参和有参构造方法创建对象,
// 空参创建的对象通过setXxx赋值,有参创建的对象直接赋值。
// 创建对象之后,调用对象中的teach()方法

public class Teacher {

    // 属性
    private String name;
    private String id;


    // 空参构造
    public Teacher() {

    }

    // 全参构造
    public Teacher(String name, String id) {
        this.id = id;
        this.name = name;
    }


    // set/get方法
    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    // teach方法
    public void teach() {
        System.out.println("工号为" + id + "的" + name + "老师正在讲课");
    }

}
// 输出效果:
// 工号为t001的杨老师正在讲课
// 工号为t002的李老师正在讲课

public class TeacherTest {
    public static void main(String[] args) {

        Teacher t1 = new Teacher();
        t1.setName("杨");
        t1.setId("t001");
        t1.teach();

        Teacher t2 = new Teacher("李", "t002");
        t2.teach();

    }
}

案例四

// 案例四:
// 定义手机类,手机有品牌(brand),价格(price)和颜色(color)三个属性,有打电话call()和sendMessage()两个功能。
// 定义测试类,在测试中请定义出手机类,类中要有空参构造创建对象,通过set方法去赋值。
// 或者通过有参构造去创建个对象。使用对象分别调用call()方法和sendMessage() 方法

public class Phone {

    // 属性
    private String brand;
    private double price;
    private String color;


    // 无参构造
    public Phone() {

    }

    // 全参构造
    public Phone(String brand, double price, String color) {
        this.brand = brand;
        this.color = color;
        this.price = price;
    }


    // set/get方法
    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getPrice() {
        return price;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getColor() {
        return color;
    }


    // call方法
    public void call() {
        System.out.println("正在使用价格为" + price + "元" + color + "的" + brand + "手机打电话");
    }

    // sendMessage方法
    public void sendMessage() {
        System.out.println("正在使用价格为" + price + "元" + color + "的" + brand + "手机发信息");
    }
}

// 输出效果:
// 正在使用价格为3998元黑色的小米手机打电话.
// 正在使用价格为3998元黑色的小米手机发短信.

public class PhoneTest {
    public static void main(String[] args) {

        Phone p1 = new Phone();
        p1.setBrand("小米");
        p1.setPrice(3998);
        p1.setColor("黑色");
        p1.call();
        p1.sendMessage();

        Phone p2 = new Phone("苹果", 5000, "白色");
        p2.call();
        p2.sendMessage();
    }
}

案例五

// 案例五:
// 展示系统中的全部电影信息(每部电影展示:名称、价格)。
// 允许用户根据电影编号(id)查询出某个电影的详细信息。
public class Movie {

    private int id;
    private String name;
    private double price;

    public Movie() {
    }

    public Movie(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }


    public void show(int id) {
        System.out.println("编号为" + id + "的电影名字是:" + name + ",价格为:" + price + "元");
    }
}


public class MovieTest {

    public static void main(String[] args) {

        Movie m1 = new Movie();
        m1.setId(1);
        m1.setName("《出拳吧,妈妈》");
        m1.setPrice(49.5);

        Movie m2 = new Movie();
        m2.setId(2);
        m2.setName("《一点就到家》");
        m2.setPrice(50.5);

        Movie m3 = new Movie();
        m3.setId(3);
        m3.setName("《月球陨落》");
        m3.setPrice(39.5);

        Movie m4 = new Movie();
        m4.setId(4);
        m4.setName("《小美人鱼的奇幻冒险》");
        m4.setPrice(29.5);

        Movie m5 = new Movie();
        m5.setId(5);
        m5.setName("《长津湖的水门桥》");
        m5.setPrice(89.5);

        System.out.println("当前在映的电影有以下:");
        System.out.println("电影名:" + m1.getName() + ",价格:" + m1.getPrice() + "元");
        System.out.println("电影名:" + m2.getName() + ",价格:" + m2.getPrice() + "元");
        System.out.println("电影名:" + m3.getName() + ",价格:" + m3.getPrice() + "元");
        System.out.println("电影名:" + m4.getName() + ",价格:" + m4.getPrice() + "元");
        System.out.println("电影名:" + m5.getName() + ",价格:" + m5.getPrice() + "元");

        Scanner s = new Scanner(System.in);
        System.out.println("请输入您想看的电影的编号:");
        int id = s.nextInt();
        switch (id) {
            case 1:
                m1.show(id);
                break;
            case 2:
                m2.show(id);
                break;
            case 3:
                m3.show(id);
                break;
            case 4:
                m4.show(id);
                break;
            case 5:
                m5.show(id);
                break;
            default:
                System.out.println("没有这个编号的电影,请尝试其他编号");
                break;
        }
    }
}




相关文章
|
18天前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
178 0
|
2月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
129 1
|
25天前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
143 0
|
25天前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
142 7
|
2月前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
59 5
|
2月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
112 5
|
2月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
156 3
|
2月前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
59 1
|
2月前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
123 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法