Java项目练习题
购买两款披萨父类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(); } } } }