欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實(shí)現(xiàn)水果超市管理系統(tǒng)

 更新時(shí)間:2018年01月15日 14:38:10   作者:scropio0zry  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)水果超市管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了java實(shí)現(xiàn)水果超市管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

首先建立水果類(lèi)的界面

public class Fruit { 
 //定義ID 
 private String id; 
 //定義名稱(chēng) 
 private String name; 
 //定義價(jià)格 
 private int price; 
 //定義單位 
 private String unit; 
 
 //定義數(shù)量 
 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; 
 } 
 
 //獲取價(jià)格 
 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( "    歡迎光臨水果系統(tǒng)"); 
  System.out.println("請(qǐng)輸入你的角色:(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("你的輸入有誤!"); 
  } 
 } 
  
 } 
} 

顧客類(lèi)

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); 
 ArrayList<Fruit> list = new ArrayList<Fruit>(); 
 check(list); 
 while (true) { 
  System.out 
   .println("     歡迎光臨水果系統(tǒng)"); 
  System.out 
   .println("請(qǐng)輸入你的操作:(1.查看水果 2.購(gòu)買(mǎi)水果 3.結(jié)賬  4.退出)"); 
  int choice = sc.nextInt(); 
  switch (choice) { 
  case 1: 
  // 查看水果 
  print(list); 
  break; 
  case 2: 
  // 購(gòu)買(mǎi)水果 
  buy(list); 
  break; 
  case 3: 
  // 結(jié)賬 
  checkOut(list); 
  break; 
  case 4: 
  // 退出 
  return; 
  default: 
  System.out.println("你輸入的操作有誤!"); 
  } 
 
 } 
 
 } 
 
 //結(jié)賬 
 private void checkOut(ArrayList<Fruit> list) { 
 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+ "元, 優(yōu)惠價(jià)格:"+ newSum+"元"); 
 }else{ 
  System.out.println("金額:" + sum+"元"); 
 } 
  
 //結(jié)完賬后,將數(shù)量清0 
 for (int i = 0; i < list.size(); i++) { 
  Fruit f = list.get(i); 
  f.setNumber(0); 
 } 
 } 
 
 // 購(gòu)買(mǎi)水果 
 public void buy(ArrayList<Fruit> list) throws IOException { 
 Scanner sc1 = new Scanner(System.in); 
 Scanner sc2 = new Scanner(System.in); 
 print(list); 
 while (true) { 
  System.out.println("購(gòu)買(mǎi)超過(guò)200元,享受九折優(yōu)惠!"); 
  System.out.println("請(qǐng)輸入想要購(gòu)買(mǎi)的水果的ID:(如果不想購(gòu)買(mǎi),請(qǐng)輸入-1退出)"); 
  String id = sc1.nextLine(); 
  if ("-1".equals(id)) { 
  System.out.println("購(gòu)買(mǎi)已結(jié)束,請(qǐng)去結(jié)賬 "); 
  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("請(qǐng)輸入購(gòu)買(mǎi)" + f.getName() + "數(shù)量: "); 
   int num = sc2.nextInt(); 
   f.setNumber(num); 
   flag = true; 
   } 
  } 
  if(!flag){ 
   System.out.println("你輸入的水果ID不正確,請(qǐng)重新輸入"); 
  } 
  } 
 
 } 
 
 } 
 
 // 查看水果 
 public void check(ArrayList<Fruit> list) 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(ArrayList<Fruit> list) { 
 System.out.println("ID\t水果\t價(jià)格\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()); 
 } 
 } 
} 

管理員類(lèi)

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) { 
  ArrayList<Fruit> list = new ArrayList<Fruit>(); 
  check(list); 
  System.out 
   .println("請(qǐng)輸入您的操作: (1.查看水果種類(lèi)  2.增加水果種類(lèi) 3.修改水果種類(lèi) 4.刪除水果種類(lèi)  5退出)"); 
  int choice = sc.nextInt(); 
  switch (choice) { 
  case 1: 
   // 查看水果種類(lèi) 
   print(list); 
   break; 
  case 2: 
   // 增加水果種類(lèi) 
   addFruit(list); 
   break; 
  case 3: 
   // 修改水果種類(lèi) 
   reverse(list); 
   break; 
  case 4: 
   // 刪除水果種類(lèi) 
   remove(list); 
   break; 
  case 5: 
   // 退出 
   return; 
  default: 
   System.out.println("你輸入的操作有誤!"); 
   break; 
  } 
  } 
 
 } else { 
  return; 
 } 
 } 
 
 public void remove(ArrayList<Fruit> list) throws IOException { 
 Scanner sc = new Scanner(System.in); 
 print(list); 
 System.out.println("請(qǐng)輸入要?jiǎng)h除的水果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("找不到要?jiǎng)h除的水果ID!"); 
 } 
 
 //修改水果 
 public void reverse(ArrayList<Fruit> list) throws IOException { 
 Scanner sc1 = new Scanner(System.in); 
 Scanner sc2 = new Scanner(System.in); 
 print(list); 
 System.out.println("請(qǐng)輸入要修改的水果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("請(qǐng)輸入水果的名稱(chēng): "); 
  String name = sc1.nextLine(); 
  System.out.println("請(qǐng)輸入水果的價(jià)格: "); 
  int price = sc2.nextInt(); 
  System.out.println("請(qǐng)輸入水果的單位: "); 
  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(ArrayList<Fruit> list) throws IOException { 
 Scanner sc1 = new Scanner(System.in); 
 Scanner sc2 = new Scanner(System.in); 
 print(list); 
 System.out.println("請(qǐng)輸入要增加水果的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名重復(fù)!"); 
  return; 
  } 
 } 
 System.out.println("請(qǐng)輸入水果的名字: "); 
 String name = sc1.nextLine(); 
 System.out.println("請(qǐng)輸入水果的價(jià)格: "); 
 int price = sc2.nextInt(); 
 System.out.println("請(qǐng)輸入水果的單位: "); 
 String unit = sc1.nextLine(); 
  
 Fruit f = new Fruit(id, name, price, unit); 
 list.add(f); 
  
 write(list); 
 System.out.println("增加成功"); 
  
 } 
 //寫(xiě)入新加的種類(lèi) 
 private void write(ArrayList<Fruit> list) 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(ArrayList<Fruit> list) { 
 System.out.println("ID\t水果\t價(jià)格\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(ArrayList<Fruit> list) 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(); 
 } 
 
 // 登陸系統(tǒng) 
 public boolean load() throws FileNotFoundException, IOException { 
 Scanner sc = new Scanner(System.in); 
 
 System.out.println("請(qǐng)輸入用戶(hù)名: "); 
 String username = sc.nextLine(); 
 System.out.println("請(qǐng)輸入密碼: "); 
 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("歡迎您進(jìn)入水果管理系統(tǒng): " + username); 
  return true; 
 } else { 
  System.out.println("你的用戶(hù)名或密碼輸入不正確,無(wú)法進(jìn)入管理系統(tǒng)"); 
  return false; 
 } 
 } 
} 

更多學(xué)習(xí)資料請(qǐng)關(guān)注專(zhuān)題《管理系統(tǒng)開(kāi)發(fā)》。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot實(shí)現(xiàn)多環(huán)境配置文件切換教程詳解

    SpringBoot實(shí)現(xiàn)多環(huán)境配置文件切換教程詳解

    很多時(shí)候,我們項(xiàng)目在開(kāi)發(fā)環(huán)境和生成環(huán)境的環(huán)境配置是不一樣的,例如,數(shù)據(jù)庫(kù)配置,這個(gè)時(shí)候就需要切換環(huán)境配置文件。本文將詳細(xì)講解SpringBoot如何切換配置文件,需要的可以參考一下
    2022-03-03
  • springboot logback如何從apollo配置中心讀取變量

    springboot logback如何從apollo配置中心讀取變量

    這篇文章主要介紹了springboot logback如何從apollo配置中心讀取變量的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java為什么使用BlockingQueue解決競(jìng)態(tài)條件問(wèn)題面試精講

    java為什么使用BlockingQueue解決競(jìng)態(tài)條件問(wèn)題面試精講

    這篇文章主要為大家介紹了java為什么使用BlockingQueue解決競(jìng)態(tài)條件問(wèn)題面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Java基礎(chǔ)知識(shí)匯總

    Java基礎(chǔ)知識(shí)匯總

    這篇文章對(duì)Java編程語(yǔ)言的基礎(chǔ)知識(shí)作了一個(gè)較為全面的匯總,在這里給大家分享一下。需要的朋友可以參考。
    2017-09-09
  • Jdbc連接數(shù)據(jù)庫(kù)基本步驟詳解

    Jdbc連接數(shù)據(jù)庫(kù)基本步驟詳解

    這篇文章主要為大家詳細(xì)介紹了Jdbc連接數(shù)據(jù)庫(kù)的基本步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • java 使用策略模式操作JDBC數(shù)據(jù)庫(kù)

    java 使用策略模式操作JDBC數(shù)據(jù)庫(kù)

    這篇文章主要介紹了java 使用策略模式操作JDBC數(shù)據(jù)庫(kù)的相關(guān)資料,這里提供實(shí)例實(shí)現(xiàn)對(duì)JDBC數(shù)據(jù)庫(kù)的操作增刪改查的功能,需要的朋友可以參考下
    2017-08-08
  • 一文理清什么是BIO以及如何使用

    一文理清什么是BIO以及如何使用

    這篇文章主要介紹了什么是BIO以及如何使用,BIO英文全名是blockingIO,也叫做阻塞IO,是最容易理解、最容易實(shí)現(xiàn)的IO工作方式,本文就來(lái)通過(guò)一些簡(jiǎn)單的示例為大家講講BIO吧,需要的朋友可以參考下
    2023-10-10
  • Java使用Apache POI操作Excel詳解

    Java使用Apache POI操作Excel詳解

    在Java中操作Excel是日常工作中經(jīng)常遇到的問(wèn)題,而Apache Poi是一種流行且廣泛使用的方式,它提供了各種庫(kù)和工具,所以本文就來(lái)詳細(xì)如何使用Apache Poi來(lái)進(jìn)行Excel文件操作吧
    2023-06-06
  • Java多態(tài)實(shí)現(xiàn)原理詳細(xì)梳理總結(jié)

    Java多態(tài)實(shí)現(xiàn)原理詳細(xì)梳理總結(jié)

    這篇文章主要介紹了Java多態(tài)實(shí)現(xiàn)原理詳細(xì)梳理總結(jié),多態(tài)是繼封裝、繼承之后,面向?qū)ο蟮牡谌筇匦?,本文只總結(jié)了多態(tài)的實(shí)現(xiàn)原理,需要的朋友可以參考一下
    2022-06-06
  • 解決創(chuàng)建springboot后啟動(dòng)報(bào)錯(cuò):Failed?to?bind?properties?under‘spring.datasource‘

    解決創(chuàng)建springboot后啟動(dòng)報(bào)錯(cuò):Failed?to?bind?properties?under‘spri

    在Spring?Boot項(xiàng)目中,application.properties和application.yml是用于配置參數(shù)的兩種文件格式,properties格式簡(jiǎn)潔但不支持層次結(jié)構(gòu),而yml格式支持層次性,可讀性更好,在yml文件中,要注意細(xì)節(jié),比如冒號(hào)后面需要空格
    2024-10-10

最新評(píng)論