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校园超市购物系统相关推荐

  1. 校园超市购物系统(JAVA,JSP,SSM,MYSQL)

    校园超市购物系统(JAVA,JSP,SSM,MYSQL)(毕业论文11000字以上,共27页,程序代码,MySQL数据库) [下载代码+论文] [运行环境]MyEclipse, jdk, Tomcat ...

  2. 基于PHP的校园超市购物系统

    基于PHP的校园超市购物系统 一 介绍 校园超市购物系统基于原生PHP开发,数据库mysql,用户可注册登录,购物下单等,管理员登录后台进行管理.(附带配套设计文档) 技术栈 php+mysql+bo ...

  3. java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计超市购物系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  4. java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序

    java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序 java-net-php-python-JAVA校园网络购物系统计算机毕业设计程序 本源码技术栈: 项目架构:B/S ...

  5. 超市购物系统小票打印

    完成超市购物小票案例:下图为购物小票案例的控制台输出的数据 首先定义一个商品的实体类代码如下: /** 定义GoodsItem类(名称.货号.单价.数量.计价单位.金额)*/ public class ...

  6. 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 ...

  7. 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 ...

  8. 校园超市购物小程序 计算机毕业设计

    一.技术介绍 1.小程序用户端:微信开发者语言js+json+wxml+wxss 2.管理员后端:前端html+css+js+后端php开发语言/3.数据库:mysql 二.功能架构图 超市购物小程序 ...

  9. 基于微信小程序的超市购物系统-计算机毕业设计

    项目介绍 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/ ...

最新文章

  1. .NET 排序 Array.SortT 实现分析
  2. linux编译lnx文件命令_Linux常用命令手册
  3. 这样写代码,真是帅到没有朋友
  4. 程序员真的是太太太太太太太太难了!
  5. 2018-2019-2 20165234 《网络对抗技术》 Exp1 PC平台逆向破解
  6. 钢材规格解读的软件_钢结构常用设计软件的总结与分析
  7. Unity3D 保姆级安装教程与收费方案和版本、下载地址,看不会算我输
  8. 基于toolbox_calib工具箱的相机标定matlab仿真
  9. alibaba的druid连接池的监控的两种方法
  10. 如何查看/修改Linux时区和时间
  11. vs2013运行c语言出现:无法查找或打开 PDB 文件问题解决
  12. 蓝牙ble自定义广播内容()
  13. JDK 17 之 JVM调优 史诗级 教程
  14. 一年前, 打了一份关于谷歌英雄迟暮的草稿, 终究和它一起迟暮了
  15. 索尼CEO吉田宪一郎:智能手机业务是公司必不可少的一部分
  16. 阿里云有奖调查!赠10个阿里巴巴logo胸针 1
  17. 一些很不错的Android开发技巧
  18. 563页30万字智慧化工园区(一期)总体设计方案
  19. 女生宿舍-同名专辑《女生宿舍 Life Is Beautiful》
  20. makefile中的word函数作用是什么

热门文章

  1. 天宇优配|北上广深角逐“国字号”数据交易所 行业爆点
  2. AlertManager 简介与使用
  3. 【操作系统】第六章-输入输出系统
  4. API网关BODY传输的配置和调用详解
  5. Roofline Model Toolkit: A Practical Tool for Architectural and Program Analysis
  6. 7.3 字符串类型及内置方法
  7. 台式计算机安装无线网卡,台式机怎么装USB无线网卡
  8. 【背景音乐】网易云外部链接给网页加背景音乐
  9. 测试人生 | 双非院校,从外包到外企涨薪85%,他的涨薪秘籍全公开
  10. 无监督单目深度估计 Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文方法分析