news 2026/8/28 8:04:06

Java项目练习题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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(); } } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 8:03:54

蓝桥杯Python真题解析:单词分析的高效解法与性能优化

1. 项目概述&#xff1a;从一道真题看蓝桥杯Python的考察脉络 今天我们来拆解蓝桥杯Python程序设计的一道经典真题——“单词分析”。这道题在历届比赛中出现频率不低&#xff0c;它看似简单&#xff0c;就是一个统计字符串中字母出现频率的问题&#xff0c;但恰恰是这种基础题…

作者头像 李华
网站建设 2026/8/28 7:58:56

PCSwitch智能呼叫系统:通话不要钱,这波羊毛我先薅为敬

不是标题党&#xff0c;是真0元通话 先别划走&#xff0c;说个真事 前两天我朋友开的小公司吐槽&#xff0c;说每个月话费账单看得心梗。客服团队20号人&#xff0c;一天几百通电话&#xff0c;一个月下来通信费大几千。我说你们没想过用网络电话&#xff1f;他说试过&#xf…

作者头像 李华
网站建设 2026/8/28 7:58:54

supervision:一套搞定目标检测后处理、跟踪与区域统计

如果你正在做目标检测项目&#xff0c;每次模型推理完之后还要自己画框、写标签、做跟踪、统计人数、保存视频&#xff0c;roboflow / supervision 这个库值得认真研究一遍。它不是一个新检测模型&#xff0c;而是一套围绕检测结果设计的后处理和标注工具&#xff0c;核心价值是…

作者头像 李华
网站建设 2026/8/28 7:57:23

清单来了:盘点2026年最受喜爱的AI论文软件

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文软件神器&#xff0c;覆盖全流程生成、文献处理、降重润色、格式排版四大核心场景&#xff0c;帮你高效搞定毕业论文。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天…

作者头像 李华
网站建设 2026/8/28 7:56:45

从零实现粒子群优化算法:C语言与MATLAB实战对比

1. 从鸟群觅食到函数寻优&#xff1a;PSO算法的直观理解 最近在优化一个工程参数时&#xff0c;我又把粒子群优化算法翻出来用了一遍。这算法说起来挺有意思的&#xff0c;它的灵感直接来源于自然界中鸟群或鱼群的集体觅食行为。想象一下&#xff0c;一群鸟在一片区域里找食物&…

作者头像 李华
网站建设 2026/8/28 7:56:17

大模型语言之python语法一天速通

一、Python 类型转换json.dumps()作用&#xff1a;Python 对象 → JSON 字符串 方向&#xff1a;内存数据 → 可网络传输 / 写入文本的字符串dict_data {"title":"券商研报"} json_str json.dumps(dict_data, ensure_asciiFalse) # 结果&#xff1a;字符…

作者头像 李华