GGS校园超市购物系统
Java新人一个,基于程序基本概念、流程控制和数组制作了一个简陋的超市购物系统,还望各位大佬指点指点不足之处
完整代码在最后
一:数组的运用
1:创建数组分配空间并赋值
//声明数组类型并分配空间//str、price用来存储商品名称、商品价格;sno、birthday、integral用来存储会员号、会员生日、会员积分...String[] str = new String[100];double[] price = new double[100];String[] sno = new String[100];String[] birthday = new String[100];double[] integral = new double[100];String[] str1 = new String[100];double[] price1 = new double[100];//为数组赋值str[0] = "泡面";str[1] = "火腿";price[0] = 122.5;price[1] = 4.5;
2:通过控制台方法赋值,例如
str[j] = sc.next();
3:交换数组元素
方法(1)
String temp = str[index];
str[index] = str1[a];
str1[a] = temp;
方法(2)
price1[a] = price1[a] + price[index];
price[index] = price1[a] - price[index];
price1[a] = price1[a] - price[index];
4:遍历数组
private static int printArray(String[] arr, String e) {for (int i = 0; i < arr.length; i++) {if (Objects.equals(arr[i], e)) {return i;}}return 0;}
5:输出数组元素
while ("2".equals(i)){System.out.println("商品名称" + " " + "商品单价");for (int v = 0; v <= (j - 1); v++) {System.out.println(str[v] + " " + price[v] + "元");}break;}
6:continue、break
continue只是中止本次循环,进行下一次循环;break用于跳出一个循环体或者完全结束一个循环
二:流程控制循环语句
1:if语句如果判断条件为真则无限循环;可以用return结束,如:
while ("9".equals(i)) {return;}
2:for语句,先判断条件是否符合,符合则执行下一步;不符合则结束语句
for (int v = 0; v <= (a - 1); v++) {System.out.println(str1[v] + price1[v]);}
3:while语句和for语句一样先判断再执行;否则跳过语句
while ("8".equals(i)) {System.out.println("会员号" + " " + "会员生日" + " " + "会员积分");for (int v = 0; v <= (x - 1); v++) {System.out.println(sno[v] + " " + birthday[v] + " " + integral[v] + "\n");}break;}
4:do...while语句无论条件是否符合都会执行一次,然后再判断条件,不符合则结束循环
do {System.out.println("请输入购买的商品");e = sc.next();//index是指定元素的下标int index = printArray(str, e);sum = sum + price[index];//两个不同的方法交换数组的元素String temp = str[index];str[index] = str1[a];str1[a] = temp;str[index]=temp;price1[a] = price1[a] + price[index];price[index] = price1[a] - price[index];price1[a] = price1[a] - price[index];price[index] = price1[a] - price[index];a = a + 1;break;} while (true);
三:完整代码如下
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;
import java.util.Scanner;
public class GroupThree {public static void main(String[] args) {System.out.println("请输入账号密码登录系统");Scanner sc = new Scanner(System.in);int account = sc.nextInt();int password = sc.nextInt();int j = 2;int x = 0;int w = 0;if (account == 20519 && password == 123456) {System.out.println("""欢迎使用智慧购物系统请输入下面序号进行操作1:增加商品 2:商品信息查询3:我要购物 4:查看购物车5:提交订单 6:删除订单7:会员信息录入 8:会员信息查询9:退出购物系统""");//声明数组类型并分配空间//str、price用来存储商品名称、商品价格;sno、birthday、integral用来存储会员号、会员生日、会员积分String[] str = new String[100];double[] price = new double[100];String[] sno = new String[100];String[] birthday = new String[100];double[] integral = new double[100];String[] str1 = new String[100];double[] price1 = new double[100];//为数组赋值str[0] = "泡面";str[1] = "火腿";price[0] = 122.5;price[1] = 4.5;double sum1 = 0;int a = 0;while (w == 0) {String i;i = sc.next();while ("1".equals(i)) {System.out.println("继续操作请输入管理员密码");password= sc.nextInt();if (password==88888888) {while (j < str.length) {System.out.println("请输入商品名称");str[j] = sc.next();System.out.println("请输入商品价格");price[j] = sc.nextDouble();j++;//结束while循环break;}j = j++;break;} else if (password!=88888888) {System.out.println("你不是管理员,无法操作");break;}//i = sc.next();}while ("2".equals(i)){System.out.println("商品名称" + " " + "商品单价");for (int v = 0; v <= (j - 1); v++) {System.out.println(str[v] + " " + price[v] + "元");}break;}while ("3".equals(i)) {double sum = 0;String e;do {System.out.println("请输入购买的商品");e = sc.next();//index是指定元素的下标int index = printArray(str, e);sum = sum + price[index];//两个不同的方法交换数组的元素String temp = str[index];str[index] = str1[a];str1[a] = temp;str[index]=temp;price1[a] = price1[a] + price[index];price[index] = price1[a] - price[index];price1[a] = price1[a] - price[index];price[index] = price1[a] - price[index];a = a + 1;break;} while (true);//System.out.println(sum);sum1 = sum + sum1;//System.out.println(sum1);System.out.println("请选择是否继续购物“y/n”");String t=sc.next();if ("y".equals(t)){continue;} else if ("n".equals(t)) {break;}}while ("4".equals(i)){for (int v = 0; v <= (a - 1); v++) {System.out.println(str1[v] + price1[v]);}System.out.println("合计:" + sum1 + "元");break;}while ("5".equals(i)){String r,e;//获取当前系统的时间Date date= new Date();SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");System.out.println("请选择是否会员“y/n”");r = sc.next();double[] integral1 = new double[1];if ("y".equals(r)) {System.out.println("请输入会员号");e = sc.next();int index = printArray(sno, e);System.out.println("请输入支付金额");double f= sc.nextDouble();double sum11=sum1*0.88;double f1=f-sum11;integral1[0] = sum1 / 10.0;integral[index] = integral[index] + integral1[0];System.out.println("支付成功,欢迎再次光临"+"\n"+"支付时间:"+dateFormat.format(date)+"\n"+"总金额"+sum1+"元"+"\n" +"会员享8.8折"+"\n"+"折后金额:"+sum11+"元"+"\n"+"实付金额"+f+"元"+"\n"+"找零:"+f1+"元");break;} else if ("n".equals(r)) {System.out.println("请输入支付金额");double f= sc.nextDouble();double f1=f-sum1;System.out.println("支付成功,欢迎再次光临"+"\n"+"支付时间:"+dateFormat.format(date)+"\n"+"总金额"+sum1+"元"+"\n" +"非会员"+"\n"+"实付金额"+f+"元"+"\n"+"找零:"+f1+"元");break;}break;}//通过交换将数组存储的元素逐步清空,并将sum1和a重新赋值为0来删除订单while ("6".equals(i)){for (;(a+1)>0;a--){String []str2=new String[100];double []price2=new double[100];String temp1=str2[a];str2[a]=str1[a];str1[a]=temp1;double temp2=price2[a];price2[a]=price1[a];price1[a]=temp2;sum1= 0;}break;}while ("7".equals(i)) {System.out.println("继续操作请输入管理员密码");password= sc.nextInt();if (password==88888888) {while (x < sno.length) {System.out.println("请输入会员号");sno[x] = sc.next();System.out.println("请输入会员生日");birthday[x] = sc.next();System.out.println("请输入会员积分");integral[x] = sc.nextDouble();x++;break;}x = x++;break;}else if (password!=88888888) {System.out.println("你不是管理员,无法操作");break;}}while ("8".equals(i)) {System.out.println("会员号" + " " + "会员生日" + " " + "会员积分");for (int v = 0; v <= (x - 1); v++) {System.out.println(sno[v] + " " + birthday[v] + " " + integral[v] + "\n");}break;}//结束整个循环while ("9".equals(i)) {return;}System.out.println("""请输入下面序号进行操作1:增加商品 2:商品信息查询3:我要购物 4:查看购物车5:提交订单 6:删除订单7:会员信息录入 8:会员信息查询9:退出购物系统温馨提示购物前请输入6清空订单""");}}}//遍历数组private static int printArray(String[] arr, String e) {for (int i = 0; i < arr.length; i++) {if (Objects.equals(arr[i], e)) {return i;}}return 0;}
}
总结
一:数组
1:数组的输入输出与数组元素交换
2:获取数组下标
3:数组的遍历
二:流程控制循环语句
1:continue与break的用法
2:if、for、while与do...while的区别
GGS校园超市购物系统相关推荐
- 校园超市购物系统(JAVA,JSP,SSM,MYSQL)
校园超市购物系统(JAVA,JSP,SSM,MYSQL)(毕业论文11000字以上,共27页,程序代码,MySQL数据库) [下载代码+论文] [运行环境]MyEclipse, jdk, Tomcat ...
- 基于PHP的校园超市购物系统
基于PHP的校园超市购物系统 一 介绍 校园超市购物系统基于原生PHP开发,数据库mysql,用户可注册登录,购物下单等,管理员登录后台进行管理.(附带配套设计文档) 技术栈 php+mysql+bo ...
- java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw
java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...
- java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序
java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序 java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序 本源码技术栈: 项目架构:B/S ...
- 超市购物系统小票打印
完成超市购物小票案例:下图为购物小票案例的控制台输出的数据 首先定义一个商品的实体类代码如下: /** 定义GoodsItem类(名称.货号.单价.数量.计价单位.金额)*/ public class ...
- SSM+社区线上超市购物系统 毕业设计-附源码211704
目 录 第1章前言 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发目标 1 第2章技术与原理 3 2.1 SSM框架 3 2.2 JAVA技术 3 2.3 MySQL数据库 3 ...
- SSM+社区线上超市购物系统毕业设计-附源码211704
目 录 第1章前言 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发目标 1 第2章技术与原理 3 2.1 SSM框架 3 2.2 JAVA技术 3 2.3 MySQL数据库 3 ...
- 校园超市购物小程序 计算机毕业设计
一.技术介绍 1.小程序用户端:微信开发者语言js+json+wxml+wxss 2.管理员后端:前端html+css+js+后端php开发语言/3.数据库:mysql 二.功能架构图 超市购物小程序 ...
- 基于微信小程序的超市购物系统-计算机毕业设计
项目介绍 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/ ...
最新文章
- .NET 排序 Array.SortT 实现分析
- linux编译lnx文件命令_Linux常用命令手册
- 这样写代码,真是帅到没有朋友
- 程序员真的是太太太太太太太太难了!
- 2018-2019-2 20165234 《网络对抗技术》 Exp1 PC平台逆向破解
- 钢材规格解读的软件_钢结构常用设计软件的总结与分析
- Unity3D 保姆级安装教程与收费方案和版本、下载地址,看不会算我输
- 基于toolbox_calib工具箱的相机标定matlab仿真
- alibaba的druid连接池的监控的两种方法
- 如何查看/修改Linux时区和时间
- vs2013运行c语言出现:无法查找或打开 PDB 文件问题解决
- 蓝牙ble自定义广播内容()
- JDK 17 之 JVM调优 史诗级 教程
- 一年前, 打了一份关于谷歌英雄迟暮的草稿, 终究和它一起迟暮了
- 索尼CEO吉田宪一郎:智能手机业务是公司必不可少的一部分
- 阿里云有奖调查!赠10个阿里巴巴logo胸针 1
- 一些很不错的Android开发技巧
- 563页30万字智慧化工园区(一期)总体设计方案
- 女生宿舍-同名专辑《女生宿舍 Life Is Beautiful》
- makefile中的word函数作用是什么
热门文章
- 天宇优配|北上广深角逐“国字号”数据交易所 行业爆点
- AlertManager 简介与使用
- 【操作系统】第六章-输入输出系统
- API网关BODY传输的配置和调用详解
- Roofline Model Toolkit: A Practical Tool for Architectural and Program Analysis
- 7.3 字符串类型及内置方法
- 台式计算机安装无线网卡,台式机怎么装USB无线网卡
- 【背景音乐】网易云外部链接给网页加背景音乐
- 测试人生 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开
- 无监督单目深度估计 Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文方法分析