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; } } }