欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java版水果管理系统源码

程序员文章站 2023-12-12 13:24:34
水果管理系统java版分享给大家。 主类 fruitsdemo /** * 功能: * 1. 查看所有的水果 * 2. 添加新的水果(添加的...

水果管理系统java版分享给大家。

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;
 }

}

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: