CocaCola.java package Drink;import java.time.LocalDate;import java.util.*;/*public class Drink {private String id;private String name;private double price;private double capacity;//容量private LocalDate productionDate;//生产日期*/publ
package Drink;
import java.time.LocalDate;
import java.util.*;
/*public class Drink {
private String id;
private String name;
private double price;
private double capacity;//容量
private LocalDate productionDate;//生产日期
*/
public class CocaCola extends Drink{
private String color;//cocacola自己独立的成员参数
private int sweetness;//甜度分1-5
public String getColor(){
return this.color;
}
public void setColor(String color){
this.color=color;
}
public int getSweetness(){
return this.sweetness;
}
public void setSweetness(int sweetness){
if(sweetness>=1&&sweetness<=5){
this.sweetness=sweetness;
}else{//需要处理>5的甜度输入
throw new DrinkException("甜度",sweetness);
}
}
//下面书写构造方法
public CocaCola(){}//无参构造方法,方便继承
public CocaCola(String name,double price){
super(name,price);//调用父类构造方法一
}
public CocaCola(String id,String name,double price,int capacity,LocalDate day){
super(id,name,price,capacity,day);//调用父类构造方法二
}
public CocaCola(String id,String name,double price,int capacity,LocalDate day,String color,int sweetness){
this( id,name, price, capacity,day);
this.color=color;
this.sweetness=sweetness;
}
/*
* public void disDrink() {
System.out.println("条形码:"+this.getId());
System.out.println("名称:"+this.getname());
System.out.println("价格:"+this.getPrice());
System.out.println("容量"+this.getCapacity());
}
*/
public void disDrink(){//重写父类的输出对象信息
super.disDrink();
System.out.println("颜色:"+this.getColor());
System.out.println("甜度(1-5):"+this.getSweetness());
}
public void inputDrink(Scanner sc){//重写父类设置对象参数
super.inputDrink(sc);
System.out.print("颜色:");
//this.setColor(sc.next());
this.setColor(sc.next());
System.out.print("甜度(1-5):");
//this.setSweetness(Commodity.inputInt(sc));
try {
this.setSweetness(Commodity.inputInt(sc));
}catch(DrinkException se) {
System.out.println("甜度输入大于默认最大值5,系统自动设置为默认值:3");
this.setSweetness(3);
}
/*甜度输入抛错, <0 || >5, Drink.DrinkException: 甜度异常
字母 ,NumberFormatException
符号,NumberFormatException*/
}
/*
public void disCocaCola(){//子类自己的输出对象信息
System.out.println("条形码:"+this.getId());
System.out.println("名称:"+this.getname());
System.out.println("价格:"+this.getPrice());
System.out.println("容量"+this.getCapacity());
System.out.println("颜色:"+this.getColor());
}
public void inputCocaCola(Scanner sc){//子类自己的设置对象参数
System.out.print("条形码:");
this.setId(sc.next());
System.out.print("名称:");
this.setName(sc.next());
System.out.print("价格:");
this.setPrice(sc.nextDouble());
System.out.print("容量:");
this.setCapacity(sc.nextInt());
System.out.print("颜色:");
this.setColor(sc.next());
}
*/
public void modifyDrink(Scanner sc) {//重写父类的modify函数
//sc.nextLine();//此行代码目的死消除缓冲去现有空字符对当前输入的影响 喵喵喵喵??
super.modifyDrink(sc);
String stringIn;
System.out.print("颜色为:"+this.color+"\t修改为:");
stringIn=sc.nextLine();
if(!stringIn.equals(""))//与空字符比较对应上面直接回车不修改
this.setColor(stringIn);
System.out.print("甜度为:(1-5)"+this.sweetness+"\t修改为(1-5):");
stringIn=sc.nextLine();
if(!stringIn.equals("")) {
try{//与空字符比较对应上面直接回车不修改
this.setSweetness(Integer.parseInt(stringIn));
}catch(DrinkException se) {
System.out.println("甜度输入非法,系统不予修改");
}catch(NumberFormatException se) {
System.out.println("甜度输入非法,系统不予修改");
}
}
/*甜度输入抛错, <0 || >5, Drink.DrinkException: 甜度异常
字母 ,NumberFormatException
符号,NumberFormatException*/
}
/*public class Drink {
private String id;
private String name;
private double price;
private int capacity;容量
private LocalDate productionDate;//生产日期
private String color;
private int sweetness;//甜度分1-5
*/
public String toString(){//没看懂这段代码在干嘛
return "条形码:"+this.getId()+" 名称:"+this.getname()
+" 价格:"+Double.toString(this.getPrice())+" 容量:"+
Integer.toString(this.getCapacity())+" 颜色:"+this.color;
}
public String getResult(String course) {
if(course.equals("颜色")) {
return this.color;
}else {
return super.getResult(course);
}
}
}
