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

}

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

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

您可能感兴趣的文章:

  • java学生管理系统界面简单实现(全)
  • java学生信息管理系统设计与实现
  • java学生成绩管理系统设计与实现
  • java实现水果超市管理系统
  • Java实现购物管理系统
  • Java基于MySQL实现学生管理系统
  • 图书管理系统java代码实现
  • Java实现学生管理系统
  • Java GUI制作简单的管理系统
  • javaWeb实现学生信息管理系统
时间: 2018-01-12

javaWeb实现学生信息管理系统

本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

Java GUI制作简单的管理系统

本文实例为大家分享了Java GUI管理系统的具体代码,供大家参考,具体内容如下 1.先完成主页面MainUI(代码如下) package com.pag_1; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MainUI extends JFrame implements ActionLis

java学生管理系统界面简单实现(全)

学生管理系统简单的实现,供初学Java Swing同学学习使用. import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import jav

Java实现学生管理系统

项目描述:通过管理员帐号登录,对学员信息进行管理.可以实现学员信息的增加.修改.删除.查询. 知识点:数组.do{}while循环.for循环.if语句.switch条件语句 学生管理系统的流程图 import java.util.Scanner; public class Stu{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean flag = false; int stuN

java学生信息管理系统设计与实现

闲暇之余用JAVA写了个学生信息的管理系统,由于博主还是萌新,代码难免有冗余和错误的地方,如果您发现有什么不足之处或者错误,请留言.博主会尽量回复. 需求分析 一个学生信息管理系统应该包含这些内容: 教师页面 在教师页面应该包含: 学生页面 在教学生页面应该包含: 包含的类 根据分析,我们的学生信息系统应该包含三个类: 代码 学生类 Student.java package com.gcl; import com.sun.org.glassfish.external.statistics.Ave

java实现水果超市管理系统

本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下 首先建立水果类的界面 public class Fruit { //定义ID private String id; //定义名称 private String name; //定义价格 private int price; //定义单位 private String unit; //定义数量 private int number; public Fruit(String id, String name, int p

Java实现购物管理系统

本文实例为大家分享了Java实现购物管理系统的具体代码,供大家参考,具体内容如下 重点内容 JAVA分支结构练习 动态数组 注册表读写删 代码: package Endless; import java.util.ArrayList; import java.util.Random; /** * @JAVA01.person1.java * @author 当前用户:Endless作者 :Endless * @version 创建时间:2017年7月26日 下午6:29:16 * //实现商品及

图书管理系统java代码实现

本文实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    <图书管理系统--java>                          * 作    者:       刘江波                       * 完成日期:    2012     年  3    

Java基于MySQL实现学生管理系统

本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下 因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差. 还有一些小细节没有完善不过还是能实现主要的功能的. Window是主界面 package First; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Window { pub

java学生成绩管理系统设计与实现

本文实例为大家分享了java学生成绩管理系统的具体代码,供大家参考,具体内容如下 /* *@copyright by LzyRapx on 2016/4/12. *@name:java学生成绩管理系统. *@功能:学生相关信息,录入,查询,统计,修改等.... *@PS:图形界面的学生管理系统不要求就不做了. */ import java.util.Scanner; import java.lang.*; import java.io.*; class Student { private sta

C语言学生成绩管理系统设计

本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 Ps:后加了个链表排序,用冒泡写的. /* Title : Student's score management system Author: nyist_xiaod Date : 2012.5.8 */ #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define Pr

java实现学生成绩录入系统

本文为大家分享了java实现学生成绩录入系统,供大家参考,具体内容如下 1.学生类,包括学生的姓名和各科成绩 public class Score { public String name; public double EnglishGrade, MathGrade,phyicalGrade, chemicalGrade,biologicalGrade; Score() { } public Score(String name,double EnglishGrade, double MathGr

Java GUI实现学生成绩管理系统

学习java有一年多了,一直在做web方面的练习,在一个项目中发现需要用到GUI的相关知识,结果没法做出来,网上这方面的文章又不是很多,所有只好自己硬着头皮从头再学一遍了,不过学习后发现,其实GUI是非常有趣的,他并不像WEB程序一样依赖互联网,而且还有许多布局和android相差不是很大,这才发现自己竟又爱上GUI的开发了,不多说了,直接上代码吧,相信有过android或相关界面开发的都明白这其中的道理. 先看看效果吧 1.登录主界面 package edu.gzu.stuManager; i

java学生信息管理系统源代码

本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

学生成绩管理系统C语言代码实现

C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示. 完整代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuyan; //C语言成绩 float en; //物理学成绩 float ji; //原子物理成绩

C语言实现学生成绩管理系统

设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能. 功能要求 1.每一条记录包括一个学生的学号.姓名.3门课成绩.平均成绩. 2.输入功能:可以一次完成若干条记录的输入. 3.显示功能:完成全部学生记录的显示. 4.查找功能:完成按姓名查找学生记录,并显示. 5.排序功能:按学生平均成绩进行排序. 6.插入功能:按平均成绩高低插入一条学生记录 7.删除功能:如果输入错误,可以删除学生记录: 8.退出. 代码: #i

C语言学生成绩管理系统小设计

本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码