标签:String 宠物 System 超市 num println name
需求:
【练习面向对象】编写一个宠物超市
乌龟
按大小定价
大(TORTOISE_BIG):¥50,对应的name属性值是猪鼻龟
小(TORTOISE_SMALL):¥30,对应的name属性值是金钱龟
金鱼
按品种定价
品种A(GOLDFISH_A):¥10,对应的name属性值是红龙眼金鱼
品种B(GOLDFISH_B):¥20,对应的name属性值是紫龙睛金鱼
要求:
1、定义宠物抽象类;
属性:name
方法:calcPrice
2、定义乌龟(Tortoise)、金鱼类(GoldFish),继承抽象类,实现抽象方法(本宠物总价计算:单价 * 数量)
3、定义客户类(Customer) :name,phone
4、定义超时入口类(Test),根据提示,用户选择宠物、对应宠物种类、输入购买数量,最后列出用户购买清单及总价
展示效果:
*********欢迎来到PET超市********
请输入您的姓名:
yixiaobai
请输入您的联系电话:
123456
-------------------------------
请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):
9
输入不合法
请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):
1
请选择种类(1.红龙眼金鱼 2.紫龙睛金鱼):
99
种类输入有误
请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):
1
请选择种类(1.红龙眼金鱼 2.紫龙睛金鱼):
2
请输入购买数量:
6
请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):
2
请选择(1.猪鼻龟 2.金钱龟):
1
请输入购买数量:
2
请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):
0
---------------------------------
客户【yixiaobai】,您选择的宠物如下:
宠物名称 数量 宠物总价
-----------------
猪鼻龟 2 100
紫龙睛金鱼 6 120
----------------------------
总价为:220元!
***********谢谢惠顾************
代码实现
public abstract class PETclass { /** * 宠物抽象类 * 属性:name * 方法:calcPrice */ String name; int num; public PETclass(String name, int num) { this.name = name; this.num = num; } //宠物总价 public int calcPrice(String name,int num){ int price = 0; return price * num; } }
public class Tortoise extends PETclass { public Tortoise(String name, int num) { super(name, num); } /** * 乌龟类 * 继承宠物抽象类 */ //重写calcPrice方法 @Override public int calcPrice(String name, int num) { if(name == "猪鼻龟"){ return 50 * num; } else if(name == "金钱龟"){ return 30 * num; } return 0; } }
public class GoldFish extends PETclass { public GoldFish(String name, int num) { super(name, num); } /** * 金鱼类 * 继承宠物抽象类 */ @Override public int calcPrice(String name, int num) { if(name == "红龙眼金鱼"){ return 10 * num; } else if(name == "紫龙睛金鱼"){ return 20 * num; } return 0; } }
public class Customer { /** * 客户类 */ String name; String phone; //构造方法 public Customer(String name, String phone) { this.name = name; this.phone = phone; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Override public String toString() { return "Customer{" + "name='" + name + '\'' + ", phone='" + phone + '\'' + '}'; } }
import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class PetTest { /** * 宠物超市测试类 */ public static void main(String[] args) { System.out.println("*********欢迎来到PET超市********"); //购买宠物的总金额 int totals = 0; //存储购买的每个种类宠物的种类、数量、金额 HashMap<PETclass,Integer> map = new HashMap<>(); Scanner sc = new Scanner(System.in); String name; String phone; System.out.println("请输入您的姓名:"); name = sc.nextLine(); System.out.println("请输入您的联系电话:"); phone = sc.nextLine(); Customer c1 = new Customer(name,phone); System.out.println("-------------------------------"); int pet1; do { System.out.println("请选择要购买的宠物(1.金鱼 2.乌龟 0.退出):"); pet1 = sc.nextInt(); if(pet1 != 1 && pet1 != 2 && pet1 != 0){ System.out.println("输入不合法"); continue; } if(pet1 == 1){ System.out.println("请选择种类(1.红龙眼金鱼 2.紫龙睛金鱼):"); } else if(pet1 == 2){ System.out.println("请选择(1.猪鼻龟 2.金钱龟):"); } else if(pet1 == 0) break; int kind = sc.nextInt(); if(kind != 1 && kind != 2){ System.out.println("种类输入有误"); continue; } System.out.println("请输入购买数量:"); int num = sc.nextInt(); PETclass pet = null; if(pet1 == 1 && kind == 1){ pet = new GoldFish("红龙眼金鱼",num); } else if(pet1 == 1 && kind == 2){ pet = new GoldFish("紫龙睛金鱼",num); } else if(pet1 == 2 && kind == 1){ pet = new Tortoise("猪鼻龟",num); } else if(pet1 == 2 && kind == 2){ pet = new Tortoise("金钱龟",num); } int total = pet.calcPrice(pet.name,num); totals += total; map.put(pet,total); }while (pet1 != 0); System.out.println("---------------------------------"); System.out.println("客户【" + c1.name + "】,您选择的宠物如下:"); System.out.println("宠物名称\t数量\t宠物总价"); System.out.println("-----------------"); for (Map.Entry<PETclass,Integer>entry : map.entrySet()) { System.out.println(entry.getKey().name + "\t" + entry.getKey().num + "\t" + entry.getValue()); } System.out.println("----------------------------"); System.out.println("总价为:" + totals + "元!"); System.out.println("***********谢谢惠顾************"); } }
标签:String,宠物,System,超市,num,println,name 来源: https://www.cnblogs.com/yixiaobaitest/p/16026237.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。