Java版水果管理系统源码
程序员文章站
2023-12-12 13:24:34
水果管理系统java版分享给大家。
主类 fruitsdemo
/**
* 功能:
* 1. 查看所有的水果
* 2. 添加新的水果(添加的...
水果管理系统java版分享给大家。
主类 fruitsdemo
/** * 功能: * 1. 查看所有的水果 * 2. 添加新的水果(添加的时候判断水果名是否有重复) * 3. 对所有的水果进行排序(价格排序、库存排序) * 4. 删除指定的水果 * 5. 退出系统 * * 注意: * 1. 每种水果都必须有水果id,水果名,水果数量,水果价格 * 2. 添加水果时,要由用户输入水果名、数量和价格 * 3. 删除水果时要二次确认 * * 评分依据: 功能实现的情况,代码规范性(命名规范、格式规范),设计的合理性 * @author yj * */ public class fruitsdemo { public static void main(string[] args) { int select = 0; // 主菜单功能选择 boolean isstart = true;// 程序运行标志位 while (isstart) { system.out.println("******************水果管理系统******************\n请输入下列序号选择相应功能:\n\n 1.查看所有的水果 \t2. 添加新的水果 \n 3.对所有的水果进行排序查看(价格排序、库存排序) \n 4.删除水果\t5. 退出系统"); select = calculation.inputisint(); switch (select) { case 1://1.查看所有的水果 calculation.seeallfruits(); break; case 2://2. 添加新的水果 calculation.add(); break; case 3://3.对所有的水果进行排序查看(价格排序、库存排序) calculation.sort(); break; case 4:// 4.删除水果 system.out.println("请输入你要删除的水果"); string index = calculation.inputisstring(); system.out.println("二次确认!!!请再次输入你要删除的水果"); string index1 = calculation.inputisstring(); if(index.equals(index1)){ calculation.remove(index); }else{ system.out.println("两次输入不匹配,删除失败!!!"); } break; case 5://5. 退出系统 isstart = false; break; default: system.out.println("输入错误,请重新输入"); break; } } system.out.println("程序已退出,欢迎使用!!!"); } }
fruits 类
/** * 水果类 * @author yj * */ public class fruits { // 每种水果都必须有水果id,水果名,水果数量,水果价格 private int id;//id private int nums;//数量(库存) private string name;//水果名 private double price;//水果价格 public fruits(int id, string name, int nums, double price) { super(); this.id = id; this.nums = nums; this.name = name; this.price = price; } public int getid() { return id; } public void setid(int id) { this.id = id; } public int getnums() { return nums; } public void setnums(int nums) { this.nums = nums; } public string getname() { return name; } public void setname(string name) { this.name = name; } public double getprice() { return price; } public void setprice(double price) { this.price = price; } }
calculation 类
import java.util.collections; import java.util.comparator; import java.util.iterator; import java.util.linkedlist; import java.util.scanner; /** * 计算类,存放关于计算处理数据的函数 * * @author yj * */ public class calculation { static linkedlist<fruits> list = new linkedlist<fruits>(); static scanner sc = new scanner(system.in); static int id = 1; /** * 添加水果 get() */ public static void add() { int nums; string name; double price; system.out.print("请输入你要添加的水果名、数量(单位:个)和价格(单位:元)\n"); name = calculation.inputisstring(); nums = calculation.inputisint(); price = calculation.inputisdouble(); if (cals(name, nums, price)) { list.add(new fruits(id, name, nums, price)); id++; } } /** * 查看所有水果 seeallfruits() */ public static void seeallfruits() { if (list.size() == 0) { system.out.println("数据为空!!!"); } else { iterator<fruits> it = list.iterator(); while (it.hasnext()) { fruits temp = it.next(); system.out.println("id -> " + temp.getid() + "\t水果名称 -> " + temp.getname() + "\t水果数量 -> " + temp.getnums() + "\t水果价格 -> " + temp.getprice()); } } } /** * 删除水果 remove(string index) * * @param index * 你要删除的水果名 */ public static void remove(string index) { iterator<fruits> it = list.iterator(); while (it.hasnext()) { if (index.equals(it.next().getname())) { it.remove(); system.out.println(index + "已删除"); } } } /** * 判断是否重复 cals(string name, int nums, double price) * * @param name * 水果名 * @param nums * 水果数量 * @param price * 水果价格 * @return */ public static boolean cals(string name, int nums, double price) { iterator<fruits> it1 = list.iterator(); while (it1.hasnext()) { fruits temp = it1.next(); if (name.equals(temp.getname())) { temp.setnums(nums + temp.getnums()); temp.setprice(price); system.out.println("水果——"+name+" 已存在,数量在原基础上加上 "+nums+",价格已更新为 "+price); return false; } } return true; } /** * 排序输出 sort() */ public static void sort() { system.out.println("1.按照价格升序 2.按照库存升序"); int n = inputisint(); switch (n) { case 1: collections.sort(list, new comparator<fruits>() { @override public int compare(fruits o1, fruits o2) { if (o1.getprice() > o2.getprice()) { return 1; } else if (o1.getprice() < o2.getprice()) { return -1; } else { return 0; } // return (int) (o1.getprice() * 100 - o2.getprice() * 100); } }); break; case 2: collections.sort(list, new comparator<fruits>() { @override public int compare(fruits o1, fruits o2) { if (o1.getnums() > o2.getnums()) { return 1; } else if (o1.getnums() < o2.getnums()) { return -1; } else { return 0; } // return (int) (o1.getnums() - o2.getnums()); } }); break; default: system.out.println("输入指令错误!!!"); break; } seeallfruits(); } /** * 输入是否是int inputisint() * * @return */ public static int inputisint() { boolean isright = true; int select = 0; do { try { select = sc.nextint(); isright = true; } catch (exception e) { system.out.println("输入类型不匹配,请输入一个整数(int)"); sc.nextline(); isright = false; } } while (!isright); return select; } /** * 输入是否是string inputisstring() * * @return */ public static string inputisstring() { boolean isright = true; string select = null; do { try { select = sc.next(); isright = true; } catch (exception e) { system.out.println("输入类型不匹配,请输入一个字符串(string)"); sc.nextline(); isright = false; } } while (!isright); return select; } /** * 输入是否为douuble * * @return */ public static double inputisdouble() { boolean isright = true; double select = null; do { try { select = sc.nextdouble(); isright = true; } catch (exception e) { system.out.println("输入类型不匹配,请输入一个小数(double)!!!"); sc.nextline(); isright = false; } } while (!isright); return select; } }
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。