代码地址:码云

水果超市管理系统(简化版): https://gitee.com/scorpio0zry/Fruit

水果超市管理系统 : https://gitee.com/scorpio0zry/FruitManager

首先建立水果类的界面

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 price, String unit) {

super();

this.id = id;

this.name = name;

this.price = price;

this.unit = unit;

}

public Fruit() {

super();

// TODO Auto-generated constructor stub

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getPrice() {

return price;

}

public void setPrice(int price) {

this.price = price;

}

public String getUnit() {

return unit;

}

public void setUnit(String unit) {

this.unit = unit;

}

public int getNumber() {

return number;

}

public void setNumber(int number) {

this.number = number;

}

//获取价格

public int getMoney(){

return price * number;

}

}

水果超市的界面

import java.io.IOException;

import java.util.Scanner;

public class FruitTest {

public static void main(String[] args) throws IOException {

Scanner sc = new Scanner(System.in);

Shopper shopper = new Shopper();

Manager manager = new Manager();

while(true){

System.out.println( " 欢迎光临水果系统");

System.out.println("请输入你的角色:(1.顾客 2.管理员 3.退出)");

int choice = sc.nextInt();

switch(choice){

case 1:

//顾客

shopper.shop();

break;

case 2:

//管理员

manager.manager();

break;

case 3:

System.exit(0);

default:

System.out.println("你的输入有误!");

}

}

}

}

顾客类

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

public class Shopper {

public void shop() throws IOException {

Scanner sc = new Scanner(System.in);

ArrayListlist = new ArrayList();

check(list);

while (true) {

System.out

.println(" 欢迎光临水果系统");

System.out

.println("请输入你的操作:(1.查看水果 2.购买水果 3.结账 4.退出)");

int choice = sc.nextInt();

switch (choice) {

case 1:

// 查看水果

print(list);

break;

case 2:

// 购买水果

buy(list);

break;

case 3:

// 结账

checkOut(list);

break;

case 4:

// 退出

return;

default:

System.out.println("你输入的操作有误!");

}

}

}

//结账

private void checkOut(ArrayListlist) {

int sum = 0;

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

sum += f.getMoney();

}

if(sum>200){

int newSum = (int) (sum * 0.9);

System.out.println("金额:" + sum+ "元, 优惠价格:"+ newSum+"元");

}else{

System.out.println("金额:" + sum+"元");

}

//结完账后,将数量清0

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

f.setNumber(0);

}

}

// 购买水果

public void buy(ArrayListlist) throws IOException {

Scanner sc1 = new Scanner(System.in);

Scanner sc2 = new Scanner(System.in);

print(list);

while (true) {

System.out.println("购买超过200元,享受九折优惠!");

System.out.println("请输入想要购买的水果的ID:(如果不想购买,请输入-1退出)");

String id = sc1.nextLine();

if ("-1".equals(id)) {

System.out.println("购买已结束,请去结账 ");

return;

} else {

boolean flag = false;

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

if(f.getId().equals(id)) {

System.out.println("请输入购买" + f.getName() + "数量: ");

int num = sc2.nextInt();

f.setNumber(num);

flag = true;

}

}

if(!flag){

System.out.println("你输入的水果ID不正确,请重新输入");

}

}

}

}

// 查看水果

public void check(ArrayListlist) throws IOException {

BufferedReader br = new BufferedReader(new FileReader("fruit.txt"));

String line;

while ((line = br.readLine()) != null) {

String[] str = line.split(" ");

Fruit f = new Fruit(str[0], str[1], Integer.parseInt(str[2]),

str[3]);

list.add(f);

}

br.close();

}

public void print(ArrayListlist) {

System.out.println("ID\t水果\t价格\t单位");

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

System.out.println(f.getId() + "\t" + f.getName() + "\t"

+ f.getPrice() + "\t" + f.getUnit());

}

}

}

管理员类

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Scanner;

public class Manager {

public void manager() throws IOException {

if (load()) {

Scanner sc = new Scanner(System.in);

while (true) {

ArrayListlist = new ArrayList();

check(list);

System.out

.println("请输入您的操作: (1.查看水果种类 2.增加水果种类 3.修改水果种类 4.删除水果种类 5退出)");

int choice = sc.nextInt();

switch (choice) {

case 1:

// 查看水果种类

print(list);

break;

case 2:

// 增加水果种类

addFruit(list);

break;

case 3:

// 修改水果种类

reverse(list);

break;

case 4:

// 删除水果种类

remove(list);

break;

case 5:

// 退出

return;

default:

System.out.println("你输入的操作有误!");

break;

}

}

} else {

return;

}

}

public void remove(ArrayListlist) throws IOException {

Scanner sc = new Scanner(System.in);

print(list);

System.out.println("请输入要删除的水果ID: ");

String id = sc.nextLine();

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

if(f.getId().equals(id)){

list.remove(i);

write(list);

System.out.println("删除成功");

return;

}

}

System.out.println("找不到要删除的水果ID!");

}

//修改水果

public void reverse(ArrayListlist) throws IOException {

Scanner sc1 = new Scanner(System.in);

Scanner sc2 = new Scanner(System.in);

print(list);

System.out.println("请输入要修改的水果ID: ");

String id = sc1.nextLine();

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

if(f.getId().equals(id)){

System.out.println("请输入水果的名称: ");

String name = sc1.nextLine();

System.out.println("请输入水果的价格: ");

int price = sc2.nextInt();

System.out.println("请输入水果的单位: ");

String unit = sc1.nextLine();

f.setName(name);

f.setPrice(price);

f.setUnit(unit);

write(list);

System.out.println("修改成功");

return;

}

}

System.out.println("找不到要修改的水果ID!");

}

//增加水果

public void addFruit(ArrayListlist) throws IOException {

Scanner sc1 = new Scanner(System.in);

Scanner sc2 = new Scanner(System.in);

print(list);

System.out.println("请输入要增加水果的ID: ");

String id = sc1.nextLine();

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

if(f.getId().equals(id)){

System.out.println("水果ID名重复!");

return;

}

}

System.out.println("请输入水果的名字: ");

String name = sc1.nextLine();

System.out.println("请输入水果的价格: ");

int price = sc2.nextInt();

System.out.println("请输入水果的单位: ");

String unit = sc1.nextLine();

Fruit f = new Fruit(id, name, price, unit);

list.add(f);

write(list);

System.out.println("增加成功");

}

//写入新加的种类

private void write(ArrayListlist) throws IOException {

BufferedWriter bw = new BufferedWriter(new FileWriter("fruit.txt"));

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

bw.write(f.getId()+" " + f.getName() + " " + f.getPrice() + " " + f.getUnit());

bw.newLine();

}

bw.close();

}

public void print(ArrayListlist) {

System.out.println("ID\t水果\t价格\t单位");

for (int i = 0; i < list.size(); i++) {

Fruit f = list.get(i);

System.out.println(f.getId() + "\t" + f.getName() + "\t"

+ f.getPrice() + "\t" + f.getUnit());

}

}

// 查看水果

public void check(ArrayListlist) throws IOException {

BufferedReader br = new BufferedReader(new FileReader("fruit.txt"));

String line;

while ((line = br.readLine()) != null) {

String[] str = line.split(" ");

Fruit f = new Fruit(str[0], str[1], Integer.parseInt(str[2]),

str[3]);

list.add(f);

}

br.close();

}

// 登陆系统

public boolean load() throws FileNotFoundException, IOException {

Scanner sc = new Scanner(System.in);

System.out.println("请输入用户名: ");

String username = sc.nextLine();

System.out.println("请输入密码: ");

String password = sc.nextLine();

BufferedReader br = new BufferedReader(new FileReader("admin.txt"));

String line = br.readLine();

String[] str = line.split(",");

if (str[0].equals(username) && str[1].equals(password)) {

System.out.println("欢迎您进入水果管理系统: " + username);

return true;

} else {

System.out.println("你的用户名或密码输入不正确,无法进入管理系统");

return false;

}

}

}

java水果超市课程设计_(学习java)水果超市管理系统相关推荐

  1. java九宫格问题课程设计_课程设计九宫格数独.doc

    课程设计九宫格数独 中南民族大学管理学院 学生课程设计报告 课题名称: java课程设计 选题名称: 九宫格数独 年 级: 2009 专 业: 信息管理与信息系统 学 号: 姓 名: 指导教师: 完成 ...

  2. 人事管理java 课程设计_数据库+Java课程设计 人事管理系统 (一)

    一.JAVA与数据库的合作 此次开发语言为Java,所用的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步   用Java连接MySQL数据库(驱动下载:htt ...

  3. 大学学了java可以做点什么_学习Java的,大学毕业一般从事些什么工作?

    展开全部 我这是拷贝的,62616964757a686964616fe59b9ee7ad9431333332643361不过也就差不多了,说实话,java的东西太多了.还是要到工作的时候慢慢用的,学好 ...

  4. java教务系统类设计_基于Java EE体系的高校教务管理系统的设计开发

    <基于Java EE体系的高校教务管理系统的设计开发>由会员分享,可在线阅读,更多相关<基于Java EE体系的高校教务管理系统的设计开发(3页珍藏版)>请在人人文库网上搜索. ...

  5. java编程能做什么_学习Java编程能做什么工作?

    Java作为编程语言界最时髦流行的元老之一,现今在软件市场上也是宠儿,被各大企业广泛应用到生产中.在各种行业.各个企业的业务管理平台,如门户网站等许多方面都占据了主导地位.吸引着越来越多学习Java的 ...

  6. 学java要背的单词_学习JAVA必背的8类常用单词

    Java常用的词还是挺多的,初学者有空多看看,对快速入门Java编程还是有益的.本文沈阳达内IT培训为大家介绍学习JAVA必背的8类常用单词. 1.保留关键字(2个) const --常量,常数:用于 ...

  7. java数组实验心得体会_学习JAVA之数组小结

    我是一个正在学习JAVA的大三计科的一个学生,写这个小结是为了加深对知识点的理解,以及便于日后的复习,若有什么理解不正确的地方或者一些便于理解的小技巧,希望大神们可以指点,先在谢谢了. 下面步入正题: ...

  8. java 怎么改变值传递_学习Java值传递方法

    学习Java值传递方法-武汉北大青鸟 值传递是在一个函数中,调用另外一个函数,其中含有参数传递的情况.往往值传递就是把数据传递到另外一个函数中进行进一步处理,以更清楚地显示函数的表达意思.在函数调用的 ...

  9. java模拟atm 课程设计_急求,关于Java课程设计ATM创建实现

    展开全部 我现写的: import java.util.Scanner;public class ATM { private static String theName = "admin&q ...

最新文章

  1. [Buzz.Today]2011.05.25
  2. sgu 126 Boxes
  3. PAT甲题题解-1128. N Queens Puzzle (20)-做了一个假的n皇后问题
  4. JAVA中的线程安全与非线程安全,java面试题,java高级笔试题
  5. C++基础教程之多态
  6. openmv探索_5_openmv读取的数据输出到外界
  7. 由争议拼多多之货找人想到的 BlockChain Storage 之5、区块链存储 - 存储供需的智能匹配...
  8. 用约束规划+概率图模型(信念传播)+神经网络端到端求解组合优化问题
  9. 通过fileProvider接收外部App传递文件路径的一些坑
  10. 我开发PLC数据采集、录波软件PLC-Recorder的心路历程
  11. 估值近百亿,“创维三把手”酷开科技能否顺利赶考?
  12. 正则的懒惰性和贪婪性、正则与字符串
  13. 2016年全国高中数学联赛加试T1解答
  14. 使用 setoolkit 伪造站点窃取用户信息
  15. 基于CCD摄像头智能车分段PID控制算法设计
  16. matlab中syms与sym有什么区别
  17. FileNotFoundError: [Errno 2] No such file or directory
  18. python print空格占位_python的占位格式符 %
  19. 判断一个数是不是2的n次方
  20. 广告平台和广告主是如何互相“窃取”数据的(上)

热门文章

  1. 基于C++的AGV机器人无线控制
  2. 李沐《动手学》-kaggle-房价预测-submission
  3. java reference详解_你不可不知的Java引用类型之——Reference源码解析
  4. 轻松玩转Scratch 3.0编程课程计划
  5. 【算法】剑指offer-删除链表中重复的节点最小栈
  6. git常用命令之git push使用说明
  7. 记录一次紫狐Rootkit应急响应过程
  8. 聚类分析(cluster analysis)
  9. 外汇天眼:英国央行是如何向市场抛出救生索的
  10. orcad capture 快速制作原理图库