java购物车系统源代码
java购物车系统源代码
java购物车系统源代码
import java.util.Scanner;
public class ShopCar_Client {
ShopCar_Manager manager = new ShopCar_Manager();
Scanner input = new Scanner(System.in);
// 购物车
int saveNo[] = new int[10]; // 存储商品编号
String saveName[] = new String[10]; // 存储商品名称
int savePrice[] = new int[10]; // 存储商品价格
String saveInfo[] = new String[10]; // 存储商品信息
int saveAmount[] = new int[10]; // 存储商品数量
int shuliang = 0; // 购买商品的数量
int Num; // 购买商品的编号
// 显示仓库中的商品
public void showShop(int[] quotID, String[] quotName, int[] quotNum,
String[] quotInfo, int[] quotPrice) {
System.out.println("现在库存里的商品数量有:");
System.out.println("商品编号\t\t" + "商品名称\t\t" + "商品数量" + "\t\t商品信息"
(完整版)基于Java的网上购物系统的设计与实现
郑州大学(软件学院)实习报告学生姓名王鑫
院(系)软件学院
专业软件工程
指导教师韩梦薇
2014年12月
目录
1 绪论 (1)
1.1 课题的研究意义 (1)
1.2 本论文的目的、内容及开发环境和工具 (1)
2 研究现状及设计目标 (1)
2.1 相近研究课题的特点及优缺点分析 (1)
2.2 现行研究存在的问题及解决办法 (1)
3 要解决的几个关键问题 (2)
3.1 研究设计中要解决的问题 (2)
3.2 具体实现复杂性分析 (3)
4 系统设计及结构 (4)
4.1 数据库设计 (4)
4.2 系统结构图 (6)
5 系统实现技术 (7)
5.1 分模块详述系统各部分的实现方法 (7)
5.2 程序流程 (13)
6 性能测试与分析 (13)
6.1 测试实例(测试集)的研究与选择 (13)
6.2 测试环境 (14)
6.3 性能分析 (14)
7 结束语 (14)
参考文献 (15)
1 绪论
1.1 课题的研究意义
近年来,网络技术迅猛发展,人类已经进入了信息化社会。随着人们消费观念和生活方式的改变,网上购物凭借其简单、快捷的特点逐渐融入了人们的生活中适应了当今社会快节奏地生活,使人们足不出户便可以方便快捷轻松地选购自己喜欢的商品。
1.2 本论文的目的、内容及开发环境和工具
1.论文的目的、内容
网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以再系统中实现注册、登录、修改个人信息、分类查询商品信息、购物、管理购物车、结账和查看各种服务条款等功能。通过后台管理模块可以实现后台管理员对会员、商品、物流、订单和系统管理。
javaweb购物车源代码2
在这里做的是一个图书购物车简单的小系统。
Megan 运行结果部分图片显示:
所以需要创建一个实体类,其中应该包括一个书本的所有内容,将其set,get,和构造方法补充完毕,将其类称为Book.java。
然后需要创建一个Dome.java来代替数据库,也就是说这个Dome里面的数据将作为数据库。接着就是Java web的三层模型,分别是Dao Service Servlet在这里做的都是模拟,因为是Dome.java模拟的是数据,所以也不用在连接数据库了,因为Dome里面的数据是Book类
型的,所以在这里面使用了Map的类型,将数据使用map.put的方法添加进去。
下面就是Dao层的代码不需要数据库,所以这里就简单了,直接创建新的方法就可以了。
创建GetAll()方法,获取存放书籍的Map集合。创建find的方法,根据关键字获取某本书籍,也就是获取的时候某一个id值下面的book 因为购物车是一个整体,购物车里面放的是购物项,可以对其进行增加或者删除什么的操作,所以创建一个Cart.java这就是购物车类,创建CartItem.java这是购物车之中的购物项,
购物项中应该包括Book,以及这本书的quantity,还有价钱,需要注意的是该五项的价钱应该等于书的数量*这本书的价格。所以在补充set,get方法的时候,应该将其getPrice的方法重新在写一下。
购物车里面是购物项和购物车的总价格,在这里创建一个map集合Map,创建方法:addBook将购物项加入到购物车里面,创建方法:getPrice购物车的总价就是所有购物项的价格加起来,addBook的时候,还需要判断购物车是否存在该购物项,如果不存在的话就需要new CartItem,将用户传递过来的书籍作为其中的参数,将购物项的数量设置为1,然后使用map.put,将购物项加入到购物车其中,如果该购物项存在的话,那么只需要将其的数量设置加1就可以了,然后对getPrice的方法进行修改,将购物车的总价就是所有的购物项的价格加起来
创建一个简单的Java在线购物平台
Java在线购物平台
在线购物平台是一个非常有趣和实用的项目,可以让您实践Java编程和电子商务概念。在本实战博客中,我们将创建一个简单的Java在线购物平台,包括以下主要部分:
项目概述
创建商品类
实现购物车
用户界面
添加商品到购物车
结算和下单
运行在线购物平台
总结
让我们从项目概述开始。
1. 项目概述
在线购物平台允许用户浏览商品、将商品添加到购物车、查看购物车内容以及进行结算和下单。我们将创建一个简化版的在线购物平台,其中包含一些虚拟的商品和购物车功能。
以下是我们将在项目中实现的主要功能:
商品类:创建一个Product类来表示商品,包括名称、价格和库存数量。
购物车类:创建一个ShoppingCart类来表示购物车,允许用户添加、删除和查看购物车中的商品。
用户界面:使用Java Swing库创建一个用户界面,包括商品列表、购物车和结算按钮。
添加商品到购物车:实现将商品添加到购物车的功能,包括更新购物车中商品的数量。
结算和下单:允许用户查看购物车中的商品并进行结算,生成订单。
现在,让我们一步一步构建这个在线购物平台。
2. 创建商品类
首先,我们将创建一个Product类来表示商品。商品将包括名称、价格和库存数量。
java
Copy code
public class Product {
private String name;
private double price;
private int stock;
public Product(String name, double price, int stock) {
基于Java的购物车系统设计
基于Java的购物车系统设计
1. 什么是购物车系统
购物车系统是一种在线购物平台的核心组成部分,它允许用户将商品添加到购物车中,并在确认购买时进行结算。购物车系统通常包括以下功能:商品浏览、添加商品到购物车、修改购物车中的商品数量、删除购物车中的商品、计算购物车中商品的总价、选择支付方式、生成订单等。
2. Java如何实现购物车系统
Java是一种面向对象的编程语言,可以利用其强大的类和对象的特性来实现购物车系统。首先,我们可以设计一个商品类(Product),该类包含商品的属性(如名称、价格、库存等)和方法(如获取商品信息、更新商品库存等)。然后,我们可以设计一个购物车类(Cart),该类包含购物车的属性(如购物车中的商品列表、总价等)和方法(如添加商品、修改商品数量、删除商品等)。最后,我们可以设计一个订单类(Order),该类包含订单的属性(如订单号、购买日期、支付方式等)和方法(如生成订单、计算订单总价等)。通过这些类的设计,我们可以实现一个基于Java的购物车系统。
3. 如何实现商品浏览和添加商品到购物车
在购物车系统中,用户需要能够浏览商品并将其添加到购物车中。为了实现这个功能,我们可以创建一个商品列表页面,显示所有的商品信息,包括名称、价格、库存等。用户可以在列表中选择感兴趣的商品,并点击“添加到购物车”按钮将
商品添加到购物车中。在点击按钮时,我们可以通过调用购物车类的添加商品方法,将选定的商品对象添加到购物车的商品列表中。
4. 如何实现修改购物车中的商品数量和删除商品
购物车系统需要允许用户修改购物车中商品的数量或删除某个商品。为了实现这个功能,我们可以在购物车页面中为每个商品显示数量输入框和删除按钮。用户可以通过修改数量输入框中的值来改变商品的数量,并点击更新按钮以保存修改。在点击删除按钮时,我们可以通过调用购物车类的删除商品方法,将选定的商品对象从购物车的商品列表中移除。
基于Java的网上商城系统设计与开发
基于Java的网上商城系统设计与开发
一、引言
随着互联网的快速发展,网上购物已经成为人们日常生活中不可或缺的一部分。为了满足用户对于便捷、快捷购物的需求,各种网上商城系统应运而生。本文将介绍基于Java的网上商城系统设计与开发过程,旨在帮助开发人员更好地理解和实践网上商城系统的构建。
二、系统架构设计
1. 系统架构概述
基于Java的网上商城系统通常采用B/S架构,即浏览器(Browser)与服务器(Server)架构。该架构下,用户通过浏览器访问网站,与服务器进行数据交互,实现在线购物功能。
2. 技术选型
在设计网上商城系统时,需要考虑技术选型以确保系统性能和稳定性。常用的Java技术包括Spring框架、Spring MVC、MyBatis等,数据库可以选择MySQL或Oracle等关系型数据库。
三、功能模块设计
1. 用户模块
用户模块是网上商城系统的核心模块之一,包括用户注册、登录、个人信息管理等功能。用户可以通过该模块完成账号管理和订单查询
等操作。
2. 商品模块
商品模块包括商品分类、商品列表展示、商品详情页等功能。管
理员可以在后台管理系统中对商品进行添加、编辑和删除操作,用户
可以通过前台页面查看商品信息并进行购买。
3. 购物车模块
购物车模块用于管理用户加入购物车的商品信息,用户可以在购
物车中修改商品数量、删除商品或进行结算操作。
4. 订单模块
订单模块包括订单生成、订单支付、订单查询等功能。用户下单
后生成订单,可以选择支付方式进行支付,并在个人中心查看订单状
态和详情。
5. 后台管理模块
Java编写购物车系统
Java编写购物车系统可购物的商品和价钱存放在list1.java中,
String[] list1={"001","笔记本","3","0"};
String[] list2={"002","笔记本1","3","0"};
String[] list3={"003","笔记本2","3","0"};
String[] list4={"004","笔记本3","3","0"};
可以修改或增加上⾯的内容,来改变购物的类别,和数量,下附程序源代码:
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.GridLayout;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class list extends JFrame {
public list() {
}
private list1 li ;
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
java超市购物程序设计
Java超市购物程序设计
一、背景介绍
超市是一个为顾客提供商品购买的零售商店。随着互联网的发展,越来越多的超市开始向线上销售转型,为了提高效率和减少错误,许多超市开始开发自己的购物程序。
本文将介绍如何使用Java编写一个简单的超市购物程序,能够处理商品的添加、
购买、结算等功能,并提供用户友好的界面。通过这个程序,顾客可以方便地浏览商品、选择购买、计算总价,并进行结算。
二、程序设计的需求
超市购物程序需要满足以下几个基本需求: 1. 显示商品列表:程序需要能够展示超市提供的各类商品,并显示商品的名称、价格和库存信息。 2. 添加商品到购物车:顾客可以选择需要购买的商品,并将其添加到购物车中。 3. 显示购物车内容:程序需要展示购物车中已选购的商品列表,并显示每个商品的数量和小计价格。 4. 计算总价:程序需要根据购物车中的商品数量和价格,计算出购物车的总价。 5. 结算购物车:顾客可以选择结算购物车,程序将计算总价并生成编号,以便顾客付款。
三、程序设计
1. 商品类的设计
首先,我们需要设计一个商品类,用于表示超市提供的各类商品。商品类具有以下属性: - 商品名称 - 商品价格 - 商品库存
其中,商品名称为字符串类型,价格为浮点数类型,库存为整数类型。
2. 购物车类的设计
接下来,我们设计一个购物车类,用于表示顾客所选购的商品列表。购物车类具
有以下属性和方法: - 商品列表:保存顾客所选购的商品列表,使用列表数据结构。 - 添加商品:将所选购的商品添加到购物车中。 - 计算总价:根据购物车中
的商品列表,计算购物车的总价。 - 结算购物车:将购物车中的商品结算,并生成结算编号。
javaee项目案例
javaee项目案例
一、项目概述
本项目是一个基于JavaEE技术的在线商城系统,旨在为用户提供一个方便、快捷的购物平台。该系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用JavaEE框架,数据库采用MySQL。
二、需求分析
1. 用户模块
用户可以进行注册、登录、修改个人信息等操作。用户登录后可以查看自己的订单信息。
2. 商品模块
管理员可以添加商品信息,并对商品进行分类管理。用户可以浏览商品信息,并根据关键字搜索商品。
3. 购物车模块
用户可以将商品加入购物车中,并对购物车进行管理,包括添加数量、删除商品等操作。
4. 订单模块
用户可以查看自己的订单信息,并对订单进行管理,包括下单、支付、取消订单等操作。
5. 管理员模块
管理员可以对商品信息进行添加、修改和删除操作,同时也可以查看
订单信息和用户信息。
三、技术选型
1. 前端技术:HTML5+CSS3+JavaScript+jQuery+Bootstrap。
2. 后端技术:JavaEE框架(SpringMVC+MyBatis)+MySQL数据库。
3. 开发工具:Eclipse/IntelliJ IDEA/NetBeans等IDE工具。
四、系统设计
1. 数据库设计
本系统采用MySQL数据库。主要包括以下表:
(1)用户表:存储用户的基本信息。
(2)商品表:存储商品的基本信息。
(3)订单表:存储订单的基本信息。
(4)购物车表:存储购物车的基本信息。
2. 系统架构设计
本系统采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用JavaEE框架。具体架构如下图所示:
javamvc简单案例
javamvc简单案例
JavaMVC(Model-View-Controller)是一种软件设计模式,用于将应用程序的逻辑和用户界面分离,以提高代码的可维护性和可扩展性。在这种模式下,应用程序被分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。
下面是一些简单的JavaMVC案例,展示了如何使用JavaMVC模式开发应用程序:
1. 电子商务网站
这个案例中,模型表示商品的数据,视图用于展示商品的信息和图片,控制器用于处理用户的请求,并更新模型和视图。通过使用JavaMVC,可以使代码结构清晰,易于理解和维护。
2. 学生信息管理系统
这个案例中,模型表示学生的信息,视图用于显示学生的列表和详细信息,控制器用于处理学生信息的增加、修改和删除操作。通过使用JavaMVC,可以实现学生信息的快速查询和管理。
3. 论坛网站
在这个案例中,模型表示用户发布的帖子和评论,视图用于展示帖子和评论的内容,控制器用于处理用户的登录、注册和发帖等操作。通过使用JavaMVC,可以实现论坛网站的功能,并增强用户体验。
4. 图书馆管理系统
这个案例中,模型表示图书的信息,视图用于展示图书的列表和详细信息,控制器用于处理图书的借阅和归还操作。通过使用JavaMVC,可以实现图书馆管理系统的功能,并提高图书的管理效率。
5. 音乐播放器
在这个案例中,模型表示音乐文件的信息,视图用于展示音乐文件的列表和播放界面,控制器用于处理音乐文件的播放、暂停和停止等操作。通过使用JavaMVC,可以实现音乐播放器的功能,并提供良好的用户体验。
java项目开发实例
java项目开发实例
1. 实例一:购物车系统
该项目主要实现一个购物车系统,用户可以在网上购买商品,将商品放入购物车,然后结算,完成购买。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 商品管理:可以增加删除商品,可以查看所有商品信息;
3. 购物车管理:可以将商品放入购物车,可以查看购物车中的商品;
4. 结算管理:可以查看购买的商品信息,并进行结算;
5. 订单管理:可以查看已经完成的订单,可以查看订单的状态。
实现技术:
1. 前端:HTML、CSS、JavaScript、Bootstrap等;
2. 后端:Servlet、JSP、MySQL等;
3. 框架:SpringMVC、Struts2等。
2. 实例二:在线考试系统
该项目主要实现一个在线考试系统,用户可以在网上进行考试,考试结束后可以查看考试结果。
功能模块:
1. 用户登录注册:用户可以进行登录注册,可以保存用户信息;
2. 试卷管理:可以增加删除试卷,可以查看所有试卷信息;
3. 试题管理:可以增加删除试题,可以查看所有试题信息;
4. 考试管理:可以设置考试时间,可以查看考试结果;
5. 成绩管理:可以查看考试成绩,可以查看
javaweb购物车源代码
这个购物车用了个简单的Map集合
Megan
1.package com.sxt;
2.
3.import java.util.HashMap;
4.import java.util.Map;
5.import java.util.Scanner;
6.
7.class Goods{
8.private Integer id;
9.private String name;
10. private Integer price;
11. private Integer numbers;
12. Goods(){}
13.public Integer getId() {
14.return id;
15.}
16.public void setId(Integer id) {
17.this.id = id;
18.}
19.public String getName() {
20.return name;
21.}
22.public void setName(String name) {
= name;
24.}
25.public Integer getPrice() {
26.return price;
27.}
28.public void setPrice(Integer price) {
29.this.price = price;
30.}
31.public Integer getNumbers() {
32.return numbers;
33.}
34.public void setNumbers(Integer numbers) {
购物车源代码
Cart.java
package shopping.cart;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Cart {
List items = new ArrayList();
public List getItems() {
return items;
}
public void setItems(List items) {
this.items = items;
}
public void add(CartItem ci) {
for (Iterator iter = items.iterator(); iter.hasNext();) { CartItem item = iter.next();
if(item.getProduct().getId() == ci.getProduct().getId()) {
item.setCount(item.getCount() + 1);
return;
}
}
items.add(ci);
}
public double getTotalPrice() {
double d = 0.0;
for(Iterator it = items.iterator(); it.hasNext(); ) {
CartItem current = it.next();
d += current.getProduct().getPrice() * current.getCount();
编写java程序实现用户登录购物系统成功的提示信息
编写java程序实现用户登录购物系统成功的提示信息
编写Java程序实现用户登录购物系统成功的提示信息需要考虑以下几个方面:用户输入、验证登录信息、购物系统功能以及成功提示信息的显示。下面将详细介绍每一个方面的实现。
一、用户输入
在Java程序中,可以使用Scanner类来获取用户的输入。首先需要引入Scanner类,然后创建一个Scanner对象,用于接收用户输入的信息。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取用户名和密码
System.out.print("请输入用户名:");
String username = scanner.nextLine();
System.out.print("请输入密码:");
String password = scanner.nextLine();
// 验证登录信息
if (validateLogin(username, password)) {
// 登录成功,显示购物系统功能菜单
showShoppingMenu();
} else {
// 登录失败,显示错误提示信息
System.out.println("用户名或密码错误,请重新登录!");
}
}
}
```
二、验证登录信息
在Java程序中,可以使用if语句来判断用户输入的用户名和密码是否正确。这里假设已经有一个存储正确用户名和密码的数据库或者数组。```java
购物车源代码
newDC = new DataColumn("IsDeleted", System.Type.GetType("System.Int32")); newDC.DefaultValue = 0; ds.Tables["CartTable"].Columns.Add(newDC); Session["myCartTable"] = newDT; ShoppingCartDlt.DataSource = ds.Tables["CartTable"].DefaultView; ShoppingCartDlt.DataBind();
if (dic.ContainsKey(id))
JAVAWEB购物车实验报告
JAVAWEB购物车实验报告
购物车是电子商务网站中常见的一个功能模块,通过购物车用户可以
将自己想要购买的商品加入到购物车中,方便用户后续操作和管理。本实
验通过使用Java Web技术,实现了一个简单的购物车功能。
在本实验中,我们使用了Java语言和Servlet技术来实现购物车功能。首先我们需要搭建一个Java Web项目,在项目中创建一个
CartServlet类来处理购物车操作。通过对请求的解析和处理,我们可以
实现添加商品、移除商品、修改商品数量等操作。
在实现购物车功能时,我们使用了一个Cart类来表示购物车。该类
中包含了一个商品列表和一些方法来实现对商品的操作。在CartServlet
类中,我们通过Session来存储用户的购物车信息,这样用户可以在不同
的页面之间共享购物车信息。
在添加商品到购物车时,我们首先判断商品是否已经在购物车中,如
果是则增加商品数量,否则将商品添加到购物车中。在移除商品时,我们
只需要找到购物车中对应的商品并移除即可。在修改商品数量时,我们需
要找到购物车中对应的商品并更新数量。
为了展示购物车功能,我们创建了一个简单的网页,用户可以通过该
网页向购物车中添加商品、移除商品和修改数量。当用户添加商品到购物
车时,页面会显示添加成功的提示信息,并显示当前购物车中的商品列表。用户可以通过页面上的按钮来移除商品和修改商品数量。
通过实验,我们成功实现了一个简单的购物车功能,用户可以方便地
将自己想要购买的商品添加到购物车中,并通过页面对购物车中的商品进
行管理。通过了解和使用Java Web技术,我们进一步加深了对Servlet
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.util.Scanner;
public class ShopCar_Client {
ShopCar_Manager manager = new ShopCar_Manager();
Scanner input = new Scanner(System.in);
// 购物车
int saveNo[] = new int[10]; // 存储商品编号
String saveName[] = new String[10]; // 存储商品名称
int savePrice[] = new int[10]; // 存储商品价格
String saveInfo[] = new String[10]; // 存储商品信息
int saveAmount[] = new int[10]; // 存储商品数量
int shuliang = 0; // 购买商品的数量
int Num; // 购买商品的编号
// 显示仓库中的商品
public void showShop(int[] quotID, String[] quotName, int[] quotNum,
String[] quotInfo, int[] quotPrice) {
System.out.println("现在库存里的商品数量有:");
System.out.println("商品编号\t\t" + "商品名称\t\t" + "商品数量" + "\t\t商品信息"
+ "\t\t" + "商品价格");
for (int i = 0; i < quotID.length; i++) {
if (quotID[i] == 0) {
break;
}
System.out.println(quotID[i] + "\t\t" + quotName[i] + "\t\t"
+ quotNum[i] + "\t\t" + quotInfo[i] + "\t" + quotPrice[i]);
}
}
// 购买商品
public void goumai(int[] quotID, String[] quotName, int[] quotNum,
String[] quotInfo, int[] quotPrice) { // 购买商品
String answer = "";
do {
System.out.println("********************************************");
System.out.println("请选择 1.购买商品 2.查询购物车 3.保存商品订单 4.退出");
System.out.println("********************************************");
int num1 = input.nextInt();
switch (num1) {
case 1: // 购买商品
System.out.print("请输入你要够买的商品的编号:");
Num = input.nextInt();
int index = -1;
for (int x = 0; x < quotID.length; x++) { // 在库存中循环找到需购买商品的编号
if (quotID[x] == 0) {
break;
}
if (quotID[x] == Num) {
index = x;
break;
}
}
if (index != -1) {
System.out.print("请输入你要够买的商品的数量:"); // 若有此商品就提示用户输入购买的数量
shuliang = input.nextInt();
if (shuliang > 0) { // 判断输入的数量是否大于0
for (int i = 0; i < quotNum.length; i++) {
if (saveNo[i] == Num) { // 判断购物车里是否有此商品
quotNum[index] = quotNum[index] + saveAmount[i]; // 货架上商品数量
saveAmount[i] = saveAmount[i] + shuliang; // 购物车内商品数量
manager.quotNum[index] = manager.quotNum[index]- saveAmount[index]; // 购买商品后台减少数量
showShop(manager.quotID, manager.quotName,
manager.quotNum, manager.quotInfo,
manager.quotPrice);
break;
}
if (saveNo[i] == 0) { // 找到存储商品的空数组
saveNo[i] = quotID[index]; // 编号
saveName[i] = quotName[index]; // 名称
savePrice[i] = quotPrice[index]; // 价格
saveInfo[i] = quotInfo[index]; //
信息
if (shuliang <= quotNum[index]) {
saveAmount[i] = saveAmount[i] + shuliang; // 购物车内的商品数量
manager.quotNum[index] = manager.quotNum[index]- saveAmount[i]; // 购买商品后台减少数量
System.out.println("操作完成!!");
showShop(manager.quotID, manager.quotName,
manager.quotNum, manager.quotInfo,
manager.quotPrice);
} else {
System.out.println("抱歉,商品数量只有:"
+ quotNum[index]);
}
break;
}
}
} else {
System.out.println("抱歉,你的输入有错误!");
}//
} else {
System.out.println("抱歉,没有该商品!");
}
break;
case 2:
purchasesn(); // 查询购物车内商品
break;
case 3: // 确定购买商品结账退出
getAllMoney(); // 打折前的总价格
getScore(); // 计算积分
getZheKou(); // 计算折扣
payPrice(); // 打折后的价格
saveMenu(); // 结账菜单
break;
case 4:
break;
default:
System.out.println("没有你所选的选项!!!");
}
System.out.println("是否继续:(y/n)"); // 是否回到购买菜单
answer = input.next();
} while (answer.equals("y"));
}
/**
* 查看商品 修改商品 删除商品
*
*/
String answer = "";
boolean big = true;
public void purchasesn() {
int index1 = -1;
int index2 = -1;
System.out.println("商品编号\t\t" + "商品名称\t\t" + "商品数量" + "\t\t商品信息"
+ "\t\t商品价格");
for (int a = 0; a < saveNo.length; a++) { // 循环输出购物车里的商品
if (saveNo[a] != 0) {
System.out.println(saveNo[a] + "\t\t" + saveName[a] + "\t\t"
+ saveAmount[a] + "\t\t" + saveInfo[a] + "\t\t"
+ savePrice[a]);
big = false;
}
}
System.out.println("\n1.修 改 商 品 2.删 除 商 品 3.返 回");
System.out.println("(如果你要查询库存请去购买商品)");
int num = input.nextInt();
switch (num) {
case 1:
System.out.print("请选择需修改的商品编号:");
int num1 = input.nextInt();
for (int i = 0; i < saveNo.length; i++) { // 循环查找购物车内相对应是商品
if (saveNo[i] == 0) {
break;
}
if (saveNo[i] == num1) {
index1 = i;
break;////
}
}
for (int i = 0;i< manager.quotID.length; i++) { // 循环查找货架上相对应是商品
if (manager.quotID[i] == 0) {
break;
}
if (manager.quotID[i] == num1) {
index2 = i;
}
}
if (index1 != -1) {
System.out.print("请输入要修改的商品数量:");
int xiugaiNum = input.nextInt();
if (xiugaiNum > 0&& xiugaiNum < (manager.quotNum[index2] + saveAmount[index1])) { // 修改的数量的小于总数量
manager.quotNum[index2] = manager.quotNum[index2]+ saveAmount[index1];
saveAmount[index1] = xiugaiNu
m;
manager.quotNum[index2] = manager.quotNum[index2]- saveAmount[index
1];
System.out.println("修改成功!!");
} else {
System.out.println("库存商品不足,您不能修改!!");
}
} else {
System.out.println("没有您要修改的商品!!!");
}
break;
case 2:
System.out.print("请输入要删除的商品编号:");
int num2 = input.nextInt();
for (int i = 0; i < saveNo.length; i++) { // 循环查找购物车内的相对应是商品
if (saveNo[i] == 0) {
break;
}
if (saveNo[i] == num2) {
index1 = i;
}
}
for (int i = 0; i < manager.quotID.length; i++) { // 循环查找货架上的相对应是商品
if (manager.quotID[i] == 0) {
break;
}
if (manager.quotID[i] == num2) {
index2 = i;
}
}
if ((index1 != -1) && (index2 != -1)) {//
if (num2 == saveNo[index1]) { // 删除
manager.quotNum[index2] = manager.quotNum[index2]
+ saveAmount[index1];
if (index1 == saveNo.length - 1) { // 删除最后一个商品
saveNo[index1] = 0;// 编号
saveName[index1] = null; // 名称
savePrice[index1] = 0; // 价格
saveInfo[index1] = null; // 信息
saveAmount[index1] = 0; // 数量
}
for (int i = index1; i < saveNo.length - 1; i++) {
saveNo[i] = saveNo[i + 1]; // 编号
saveName[i] = saveName[i + 1]; // 名称
savePrice[i] = savePrice[i + 1]; // 价格
saveInfo[i] = saveInfo[i + 1]; // 信息
saveAmount[i] = saveAmount[i + 1]; // 数量
}
System.out.println("删除成功!!");
}
} else {
System.out.println("没有您要删除的商品!!");//
}
break;
default:
showShop(manager.quotID, manager.quotName, manager.quotNum,
manager.quotInfo, manager.quotPrice);
goumai(manager.quotID, manager.quotName, manager.quotNum,
manager.quotInfo, manager.quotPrice);
}
if (big) {
System.out.println("购物车暂时没有商品,请先购买商品然后再查看!");
}
}
/***************************************************************************
* 用户在购买商品时,根据用户购买商品所花的钱来给用户加积分
*
*/
int allMoney = 0; // 购买商品,计算折扣前的总价
int score = 100; // 定义初始积分。这里大家可以有多个会员进行登录,每个会员设置不同的积分变量存放各自的积分
double zhekou = 0.0; // 具体的折扣数
double pay; // 实际应付款数
public double getAllMoney() { // 购买商品,计算折扣前的总价
for (int i = 0; i < saveNo.length; i++) {
if (saveNo[i] == 0) {
break;
}
allMoney = allMoney + savePrice[i] * saveAmount[i]; // 价格累加
}
return allMoney;
}
public int getScore() { // 购物所得的积分
score = score + (int) (allMoney * 3 / 100);
return score;
}
// 根据积分求折扣
public double
getZheKou() {
if (score < 200) {
zhekou = 0.9;
} else if (score >= 200 && score < 400) {
zhekou = 0.8;
} else if (score >= 400 && score < 800) {
zhekou = 0.7;
} else if (score >= 800) {
zh
ekou = 0.6;
}
return zhekou;
}
/***************************************************************************
* 用户在选择 “保存商品订单”的时候,用来下订单,根据用户积分来算折扣,然后求出实际应该付的钱数
*
* @param money:
* 用户输入的钱数
*
*/
public double payPrice() { // 打折后的价格
pay = zhekou * allMoney;
return pay;
}
// 用户窗体菜单类,调用总金额,积分,折扣等方法
public void saveMenu() {
String answer = "";
System.out.println("您购买商品的总价为:\t" + allMoney + "元");
System.out.println("您目前的积分是:\t" + score + "分");
System.out.println("根据您购物的金额,您享有:\t" + zhekou + "的折扣优惠!");
System.out.println("您最后应付款为:\t" + pay);
do {
System.out.println("请输入您要付款的金额:\t");
double money = input.nextDouble();
if (money < pay) { // 输入的金额不足时
System.out.println("不好意思您输入的金额不足!不能完成交易!" + "\n是否继续交易(y/n):");
answer = input.next();
} else {
System.out.println("您好!交易成功!!" + "\n找回您:" + (money - pay));
System.out.println("感谢您的购物,你可以享受本超市的抽奖活动!");
System.out.println("规则:输入1~3"); // 结账完了进行抽奖活动
int shuzi = input.nextInt();
int random = (int) ((Math.random() * 3) + 1);
if (random == shuzi) {
System.out.println("恭喜你,获得苹果电脑一台!!欢迎下次光临");
} else {
System.out.println("谢谢参与,欢迎下次光临!!");
}
break;
}
} while (answer.equals("y"));
}
}
import java.util.Scanner;
public class ShopCar_Manager {
String userName = "manager"; // 定义管理员的用户名和密码
String password = "0000";
String user = ""; // 定义输入的管理员用户名和密码
String pwd = "";
public int i = 0; // 用来记录输入的管理员用户名或密码错误的次数.定义成全局的是为了在测试类中能用到
public int[] quotID = new int[10]; // 商品编号
public String[] quotName = new String[10]; // 商品名称
public int[] quotNum = new int[10]; // 商品数量
public String[] quotInfo = new String[10]; // 商品介绍
public int[] quotPrice = new int[10]; // 商品价格
Scanner input = new Scanner(System.in);
/**
* 初始化库存的商品信息
*/
public void initial() {
quotID[0] = 1;
quotName[0] = "java";
quotNum[0] = 20;
quotInfo[0] = "真是太牛了!!!";
quotPrice[0] = 87;
quotID[1] = 2;
quotName[1] = "net";
quotNum[1] = 28;
quotInfo[1] = "太好
用了!!!";
quotPrice[1] = 69;
quotID[2]
= 3;
quotName[2] = "c#";
quotNum[2] = 34;
quotInfo[2] = "太方便了!!!";
quotPrice[2] = 56;
quotID[3] = 4;
quotName[3] = "sql";
quotNum[3] = 42;
quotInfo[3] = "太实用啦!!!";
quotPrice[3] = 59;
}
//编写管理员用户登录的方法
public void login() {
boolean big = true;
for (int i = 3; i > 0; i--) {
System.out.print("请输入管理员用户名:");
user = input.next();
System.out.print("请输入管理员密码:");
pwd = input.next();
if (user.equals(userName) && pwd.equals(password)) {
menu();
big = false;
return;
} else {
System.out.println("用户名或密码有误,请重新输入,你还有" + (i - 1) + "次机会:");
}
}
if (big) {
System.out.println("很抱歉,你输入的次数有限不能在输入!!");
}
}
// 商品主菜单
public void menu(){
// 输出管理员界面的主菜单
System.out.println("商品管理系统 > 商品主菜单");
System.out.println("************************************************************************");
System.out.println("\t\t1、添加商品信息");
System.out.println("\t\t2、修改商品信息");
System.out.println("\t\t3、删除商品信息");
System.out.println("\t\t4、查询商品信息");
System.out.println("\t\t0、退出");
System.out.println("************************************************************************");
System.out.println("请输入你要执行的功能编号:");
int num = input.nextInt();
switch (num) {// 判断如果num是上面的商品主菜单的功能
case 1:
addShop(); //添加商品
break;
case 2:
rework(); //修改商品
break;
case 3:
delete(); //删除商品
break;
case 4:
showAllShop(); //显示商品
break;
case 0:
break;
default :// 如果输入的是商品菜单里没有的功能后执行下面
System.out.println("没有您输入的选项,返回登陆菜单!!");
menu();
break;// returnMenu();
}
}
// 显示所有商品信息的方法
public String answer = "";
public void showAllShop(){
System.out.println("是否显示所有商品?(y/n)");
answer =input.next();
if(answer.equals("y")){
System.out.println("商品编号\t\t"+"商品名称\t\t"+"商品数量"+"\t\t产品信息"+"\t\t产品价格");
for (int i = 0; i < quotID.length; i++) { // 循环数组编号里的元素
if (quotID[i] != 0){ // 判断如果货架上的商品编号不为空的情况下显示所有商品信息
System.out.println(quotID[i] + "\t\t" + quotName[i]
+ "\t\t" + quotNum[i]+"\t\t"+quotInfo[i]+"\t\t"+quotPrice[i]);
}else{ // 如果没有,则结束本次循环
break;
}
}
}else if(answer.equals("n")){
lookUp();
}else {
Syste
m.out.println("您是
输入有误!返回主菜单!");
menu(); // 显示返回菜单
}
lookUp(); //按名称查询商品
}
//查询单个商品菜单
public void lookUp(){
System.out.println("是否按照商品编号查询显示商品?(y/n)");
answer =input.next();
if(answer.equals("y")){
System.out.print("请输入商品编号");
int shopid = input.nextInt();
for (int i = 0; i < quotID.length; i++){
if( quotID[i]==shopid ){
System.out.println("商品编号\t\t"+"商品名称\t\t"+"商品数量"+"\t\t产品信息"+"\t\t产品价格");
System.out.println(quotID[i] + "\t\t" + quotName[i]+ "\t\t" + quotNum[i]+"\t\t"+quotInfo[i]+"\t\t"+quotPrice[i]);
break;
}
if(quotID[i]==0){
System.out.print("抱歉!没有您要选购的商品!");
break;
}
}
System.out.print("\n按'n'返回主菜单:");
answer=input.next();
if(answer.equals("n")){
menu(); // 显示返回菜单
}else {
System.out.println("您的输入有误!返回主菜单!");
menu();
}
}else if(answer.equals("n")){
menu(); // 显示返回菜单
}else {
System.out.println("您的输入有误!返回主菜单!");
menu(); // 显示返回菜单
}
}
// 返回主菜单的方法
public void returnMenu(){
menu();
}
// 添加商品菜单
boolean big=true;
public void addShop() { // 添加货架上的商品编号进行判断,判断货架上是否有该商品编号
System.out.print("请输入商品编号:"); //添加的编号
int bianhao = input.nextInt();
int index = -1;
for (int q = 0; q < quotID.length; q++) { // 循环数组编号里的元素
if(bianhao==quotID[q]){ // 如果输入的是编号重复执行下面操作
System.out.println("输入的编号重复,返回主菜单查看后再添加!!");
menu(); // 显示返回主菜单功能
return;
}
if (quotID[q] == 0) { // 如果输入的编号循环去和货架上的编号数组进行判断,如果相等就执行下面语句
index=q;
break;
}
}
do{
System.out.print("请输入商品名称:");
String shopName = input.next(); // 添加货架上的商品名称
for(int i=0;i<quotID.length;i++){ //循环判断添加的名称
if(shopName.equals(quotName[i])){
System.out.println("输入的名称重复,返回主菜单查看后再添加!!");
menu(); // 显示返回主菜单功能
return;
}
}
System.out.print("请输入商品数量:");
int shopNum = input.nextInt(); // 添加货架上的商品数量
if(shopNum<=0){
System.out.println("您输入的数量不合理,返回主菜单!!!");
menu();
return;//
}
System.out.print("请输入商品信息:");
String shopInfo = input.next(); // 添加货架上的商
品信息
System.out.print("请输入商品价格:");
int shopPric
e = input.nextInt(); // 添加货架上的商品价格
if(shopPrice<=0){
System.out.print("您输入的价格不合理,返回菜单!!");
menu();
break;
}
quotID[index] = bianhao;
quotName[index] = shopName;
quotNum[index] = shopNum;
quotInfo[index] = shopInfo;
quotPrice[index] = shopPrice;
System.out.println("商品添加成功,返回主菜单查看!!");
answer="n";
menu();
break;
}while(answer.equals("y"));
}
// 修改菜单
public void rework(){ // 从键盘输入接收一个编号
boolean big=true;
System.out.print("请输入你要修改的商品编号:");
int shopid=input.nextInt();
for(int i=0;i<quotID.length;i++){
if(quotID[i]==0){
break;
}
if(quotID[i]==shopid){
big=false;
System.out.println("1.修改商品名称"+"\n"+"2.修改商品数量"+"\n"+"3.修改商品价格"+"\n"+"4.修改商品信息");
System.out.println("请选择:");
int num1=input.nextInt();
switch(num1){
case 1:
System.out.print("请输入修改后的商品名称:");
quotName[i]=input.next();
System.out.print("修改成功!!");
break;
case 2:
System.out.print("请输入修改后的商品数量:");
quotNum[i]=input.nextInt();
System.out.println("修改成功!!");
break;
case 3:
System.out.print("请输入修改后的商品价格:");
quotPrice[i]=input.nextInt();
System.out.println("修改成功!!");
break;
case 4:
System.out.print("请输入修改后的商品信息:");
quotInfo[i]=input.next();
System.out.println("修改成功!!");
default:
System.out.println("没有你要修改的选项!");
}
}else{
continue;
}
if(big){
System.out.println("您输入的商品编号为无效的编号!");
}
System.out.print("\n按'n'返回主菜单,按'q'退出:");
String fanhui=input.next();
if(fanhui.equals("q")){
System.out.println("退出系统!欢迎下次光临!");
break;
}else if(fanhui.equals("n")){
menu(); // 显示返回菜单
}else {
System.out.println("您是输入有误!返回主菜单!");
menu();
}
}
}
// 删除商品
public void delete() {
boolean big=true;
System.out.print("请输入要删除的商品编号:"); //删除的编号
int delShopid = input.nextInt();
// 循环数组编号里的元素
for (int i = 0; i < quotID.length; i++){ // 循环数组编号里的元素下标
if(quotID[i] == 0){
break;
}
if (quotID[i] == delShopid){ // 判断编号等于数组里的编号的时候执行下面语句
for(int x=i;x<quotID.length-1;x++){
quotID[x]=quotID[x+1];
quotName[x] = quotName[x+1];
quotNum[x] = quotNum[x+1];
quo
tInfo[x] = quotInfo[x+1];
quotPrice[x] = quotPrice[x+1];
continue;
}
b
ig=false;
}else{
continue;
}
}
if(big){ // 如果编号不等于数组里的编号的时候执行下面语句
System.out.println("您输入的商品编号为无效的编号!");
}
System.out.println("删除成功!!");
System.out.print("\n按'n'返回主菜单");
String fanhui=input.next();
if(fanhui.equals("n")){
menu(); // 显示返回菜单
}else {
System.out.println("您是输入有误!返回主菜单!");
menu();
}
}
}
import java.util.Scanner;
public class ShopCar_Test {
// 显示系统主菜单的方法
public static void mainMenu() {
System.out.println("***************************************************************************");
System.out.println("\t\t\t\t欢迎你进入商品购物管理系统\n\n");
System.out.println("\t\t\t\t1.商品购物系统\n");
System.out.println("\t\t\t\t2.商品管理系统\n");
System.out.println("如果你是客户请选择(<1>),如果你是管理员请选择(<2>)");
System.out.println("***************************************************************************");
}
public static void main(String[] args) {
ShopCar_Client client = new ShopCar_Client(); // 定义前台用户类的对象
client.manager.initial();
Scanner input = new Scanner(System.in);
String con = "";
con = "no";
do {
if (con == "no") {
client.manager.initial();
} // 先初始化库存中的商品信息
mainMenu(); // 显示系统主菜单
int num = input.nextInt();
if (num == 1) { // 显示执行前台用户
client.showShop(client.manager.quotID, client.manager.quotName, client.manager.quotNum, client.manager.quotInfo,client.manager. quotPrice);
client.goumai(client.manager.quotID, client.manager.quotName,
client.manager.quotNum, client.manager.quotInfo, client.manager.quotPrice);
} else if (num == 2) {
client.manager.login();
} else {
System.out.println("没有你所选的选项!!!");
}
System.out.println("是否重新选择进入购物管理系统(yes/no)");
con = input.next();
} while (con.equals("yes"));
System.out.println("谢谢您的使用,欢迎下次光临!!");
}
}