购买两款披萨
父类
package com.lqy.test01; //父类:披萨 public class Pizza { //属性 private String name;//名称 private int size;//尺寸大小 private int price;//价格 //方法,为这三个属性提供set和get方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } //展示披萨信息 public String Skpizza(){ return "披萨的名字是:"+name+"\n披萨的大小是:"+size+"寸\n披萨的价格是:"+price+"元"; } //构造器 //空参 public Pizza() { } //实参 public Pizza(String name, int size, int price) { this.name = name; this.size = size; this.price = price; } }子类:水果披萨
package com.lqy.test01; //水果披萨 public class FruitsPizza extends Pizza{ //属性 private String burdening;//配料 //提供set/get方法 public String getBurdening() { return burdening; } public void setBurdening(String burdening) { this.burdening = burdening; } //构造器 //空参 public FruitsPizza() { } //实参(四个参数,前三类属性属于继承父类,最后一类属于子类特有属性) public FruitsPizza(String name, int size, int price, String burdening) { super(name, size, price); this.burdening = burdening; } //重写父类提供的SkPizza方法 @Override public String Skpizza() { return super.Skpizza()+"\n你要加入的水果是:"+burdening; } }子类:培根披萨
package com.lqy.test01; //培根披萨 public class BaconPizza extends Pizza{ //属性 private double weight;//重量 //提供set/get方法 public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } //构造器 //空参 public BaconPizza() { } //实参(前三类属性属于父类继承,最后一类重量是子类特有的属性) public BaconPizza(String name, int size, int price, double weight) { super(name, size, price); this.weight = weight; } //重写父类提供的SkPizza方法 @Override public String Skpizza() { return super.Skpizza()+"\n培根的克数是:"+weight+"克"; } }披萨工厂
package com.lqy.test01; import java.util.Scanner; //披萨工厂 public class PizzaStore { public static Pizza getPizza(int choice) { Scanner scanner = new Scanner(System.in); Pizza p = null; switch (choice) { case 1://加代码块的意义是划分作用域,因为有相同的大小和价格的属性,所以加了代码块可以划分属性作用域 { System.out.println("请录入培根的克数:"); int weight = scanner.nextInt(); System.out.println("请录入披萨的大小:"); int size = scanner.nextInt(); System.out.println("请录入披萨的价格:"); int price = scanner.nextInt(); //将录入的信息封装为培根披萨的对象 BaconPizza bp = new BaconPizza("培根披萨", size, price, weight);//封装成一个披萨对象 p = bp; } break; case 2: { System.out.println("请输入您要添加的水果:"); String burdening = scanner.next(); System.out.println("请录入披萨的大小:"); int size = scanner.nextInt(); System.out.println("请录入披萨的价格:"); int price = scanner.nextInt(); //将录入的信息封装为水果披萨的对象 FruitsPizza fp = new FruitsPizza("水果披萨", size, price, burdening);//封装成水果披萨 p = fp; } break; } return p; } }买披萨测试类
package com.lqy.test01; import java.util.Scanner; public class PizzaTest { public static void main(String[] args) { //选择购买披萨 Scanner scanner = new Scanner(System.in);//键盘录入购买内容 System.out.println("请选择您要购买的披萨,输入数字序号即可(1:培根披萨 2:水果披萨):"); int choice = scanner.nextInt();//选择1/2 //通过工厂获取披萨 Pizza pizza = PizzaStore.getPizza(choice); System.out.println(pizza.Skpizza()); } }购买饮料
编写程序实现饮品购买:接收用户输入的信息,选择购买的饮料。可供选择的饮品有:咖啡、奶茶和可乐。 其中,购买咖啡时可以选择:备注加糖、加奶还是什么都不加,是否加冰,选择大杯,小杯,饮品数量 购买可乐时可以选择:备注买可口可乐还是百事可乐,是否加冰,选择大杯,小杯,饮品数量 购买奶茶时可以选择:备注奶茶中加入椰果,红豆,布丁,是否加冰,选择大杯,小杯,饮品数量
父类
package com.lqy.test02; public class Drink { //属性 private String name;//饮品名称 private String note;//备注 private String size;//饮品大杯小杯 private int price;//价格 private int quantity;//订单数量 //提供get/set方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSize() { return size; } public void setSize(String size) { this.size = size; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } //展示饮品信息 public String SkDrink(){ int total = price*quantity; return "饮品的名字是:"+name+"\n饮品的尺寸为:"+size+"杯\n饮品的价格为:"+price+"*"+quantity+"=" +total+"元\n请输入您的备注(是否加冰):"+ note + "\n您的订单数量为:"+quantity+"杯"; } //构造器 //空参 public Drink() { } //实参 public Drink(String name, String size, int price, String note, int quantity) { this.name = name; this.size = size; this.price = price; this.note = note; this.quantity = quantity; } }子类:可乐
package com.lqy.test02; //可乐饮料 public class Cola extends Drink{ //属性 private String brand;//品牌 //get/set方法 public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } //构造器 public Cola() { } //前五类为继承父类,后两类为子类特有属性 public Cola(String name, String size, int price, String note, int quantity, String brand) { super(name, size, price, note, quantity); this.brand = brand; } @Override public String SkDrink(){ return super.SkDrink()+"\n您要购买的可乐为:"+brand; } }子类:咖啡
package com.lqy.test02; public class Coffe extends Drink{ //属性 private String taste;//口味 //get/set方法 public String getTaste() { return taste; } public void setTaste(String taste) { this.taste = taste; } //构造器 public Coffe() { } public Coffe(String name, String size, int price, String note, int quantity, String taste) { super(name, size, price, note, quantity); this.taste = taste; } //重写方法 @Override public String SkDrink(){ return super.SkDrink()+"\n您要购买的咖啡为:"+taste; } }子类:奶茶
package com.lqy.test02; public class MilkTea extends Drink{ //属性 private String toppings;//小料 //set/get方法 public String getToppings() { return toppings; } public void setToppings(String toppings) { this.toppings = toppings; } //构造器 public MilkTea() { } public MilkTea(String name, String size, int price, String note, int quantity, String toppings) { super(name, size, price, note, quantity); this.toppings = toppings; } }工厂类
package com.lqy.test02; import java.util.Scanner; //饮品工厂 public class DrinkStore { public static Drink getDrink(int choice){ Scanner scanner = new Scanner(System.in); Drink d = null; switch (choice){ case 1: { System.out.println("请录入您要选择的可乐:百事可乐 可口可乐:"); String brand = scanner.next(); System.out.println("请输入您的备注:多冰 少冰 不加冰:"); String note = scanner.next(); System.out.println("请选择您的尺寸:大 小"); String size = scanner.next(); System.out.println("请录入饮品的价格为:"); int price = scanner.nextInt(); System.out.println("请录入订单数量:"); int quantity = scanner.nextInt(); //封装可乐信息 Cola cl = new Cola("可乐",size,price,note,quantity,brand); d = cl; } break; case 2: { System.out.println("请录入您要选择的咖啡口味:加奶 加糖 不加奶:"); String taste = scanner.next(); System.out.println("请输入您的备注:多冰 少冰 不加冰:"); String note = scanner.next(); System.out.println("请选择您的尺寸:大 小"); String size = scanner.next(); System.out.println("请录入饮品的价格为:"); int price = scanner.nextInt(); System.out.println("请录入订单数量:"); int quantity = scanner.nextInt(); //封装咖啡信息 Coffe cf = new Coffe("咖啡",size,price,note,quantity,taste); d = cf; } break; case 3: { System.out.println("请录入您要选择的奶茶小料:红豆 椰果 珍珠 芋圆 布丁:"); String toppings = scanner.next(); System.out.println("请输入您的备注:多冰 少冰 不加冰:"); String note = scanner.next(); System.out.println("请选择您的尺寸:大 小"); String size = scanner.next(); System.out.println("请录入饮品的价格为:"); int price = scanner.nextInt(); System.out.println("请录入订单数量:"); int quantity = scanner.nextInt(); //封装奶茶信息 MilkTea mt = new MilkTea("奶茶", size, price, note, quantity, toppings); d = mt; } break; } return d; } }测试类
package com.lqy.test02; import java.util.Scanner; public class DrinkTest { public static void main(String[] args) { //选择购买饮品 Scanner scanner = new Scanner(System.in); System.out.println("请选择您要购买的饮品,输入数字序号即可(1:可乐 2:咖啡 3:奶茶):"); int choice = scanner.nextInt();//选择序号 Drink drink = DrinkStore.getDrink(choice); System.out.println(drink.SkDrink()); } }打印查询日期
package com.lqy.test02; import java.util.Calendar; import java.util.Scanner; public class Test06 { public static void main(String[] args) { //录入日期的String Scanner sc = new Scanner(System.in); System.out.print("请输入您想要查看的日期:(提示:请按照例如1900-1-1的格式)"); String scDate = sc.next();//字符串日期 //String——》Calendar //String——》Date*/ java.sql.Date date = java.sql.Date.valueOf(scDate);//将接收到的字符串转为sql.Date //Date——》Calendar Calendar calendar = Calendar.getInstance(); calendar.setTime(date); //星期提示 System.out.println("日\t一\t二\t三\t四\t五\t六\t"); //获取本月的最大天数 int maxDay = calendar.getActualMaximum(Calendar.DATE);//获取日的最大天数 //获取当前日期中的日 int nowDay = calendar.get(Calendar.DATE);//当前的日期 //将日期调为本月的1号 calendar.set(Calendar.DATE,1); //获取这个1号是本周的第几天 int number = calendar.get(Calendar.DAY_OF_WEEK); //前面空出来的天数为 int day = number - 1; //引入一个计数器 int count = 0;//计数器最开始为0 //在日期前将空格打印出来 for (int i1 = 0; i1 <day ; i1++) { System.out.print("\t"); } //空出来的日期也要放入计数器 count = count + day; //从1号遍历到maxDay号 for (int i = 1; i <= maxDay; i++) { if (i == nowDay){//如果遍历的i和当前要查询的日期是一样的话,那么就加上*号注明 System.out.print(i+"*"+"\t"); }else { System.out.print(i+"\t"); } count++;//每输出一个数字,计数器就加1 if (count % 7 == 0){//当计数器的个数是 7 的倍数时,就换行 System.out.println(); } } } }