概述
需求:
模拟购物车模块的功能,需要实现添加商品到购物车中去,同时需要提供修改商品的购买数量,结算商品价格功能(请使用面向对象编程来解决)。
代码实现:
ShopCarTest 类:
package mianxiangduixiang.demo;
import java.util.Scanner;
import java.util.SortedMap;
/**
* 需求:
* 模拟购物车模块的功能,需要实现添加商品到购物车中去,同时需要提供修改商品的
* 购买数量,结算商品价格功能(请使用面向对象编程来解决)。
*/
//定义一个购物车的类
public class ShopCarTest {
public static void main(String[] args) {
//1.定义一个商品类,用于创建后期创建商品对象
//2.定义一个购物车对象:用数组表示
Goods[] shopCar=new Goods[100];//代表商品数组对象,可以存100个
//3.搭建操作架构
while (true) {
System.out.println();
System.out.println("==================================================================");
System.out.println("请您选择如下命令进行操作:");
System.out.println("添加商品到购物车 add");
System.out.println("查看购物车商品 query");
System.out.println("修改购物车商品数量 update");
System.out.println("结算购物车商品金额 pay");
System.out.println("结束程序 end");
Scanner sc=new Scanner(System.in);
System.out.println("请输入您的命令:");
System.out.println();
String command=sc.next();
switch (command){
case "add":
//添加商品到购物车
addGoods(shopCar,sc);
break;
case "query":
//查看购物车商品
queryGoods(shopCar);
break;
case "update":
//修改购物车商品数量
updateGoods(shopCar,sc);
break;
case "pay":
//结算购物车商品金额
payGoods(shopCar);
break;
case "end":
//结束程序
System.exit(0);
break;
default:
System.out.println("无此功能!!!");
}
}
}
//定义一个方法,进行求和变量累加求出金额
public static void payGoods(Goods[] shopCar){
System.out.println("您现在购物车的信息为:");
queryGoods(shopCar);
double money=0;
for (int i = 0; i < shopCar.length; i++) {
Goods g=shopCar[i];
if (g!=null){
money+=(g.buyNumber*g.price);
}else {
break;
}
}
System.out.println("您购买商品的总金额为:"+money+"元");
}
//定义一个方法,修改购物车商品数量
public static void updateGoods(Goods[] shopCar,Scanner sc) {
//让用户输入要修改的商品id,根据id查询出要修改的商品对象(定义一个方法,查询要修改的对象)
System.out.println("请输入您要修改的商品id:");
int id=sc.nextInt();
Goods g=getGoodsByid(shopCar,id);
if (g==null){
System.out.println("抱歉,购物车中无此商品信息,请重新输入!!!");
updateGoods(shopCar, sc);
}else {
System.out.println("请输入"+g.name+"要修改的数量:");
int buyNumber=sc.nextInt();
g.buyNumber=buyNumber;
System.out.println("修改成功!!!");
}
}
//定义一个方法,可以查询出要修改的商品对象,返回商品对象
public static Goods getGoodsByid(Goods[] shopCar,int id){
for (int i = 0; i < shopCar.length; i++) {
Goods g=shopCar[i];
if (g != null) {
//判断此商品id是我们要找的
if (g.id == id) {
return g;
}
}else {
//System.out.println("您还未添加此商品!!!");
return null;
}
}
return null;
}
//定义一个方法,查看购物车商品信息,并展示出来
public static void queryGoods(Goods[] shopCar) {
System.out.println("===========================查看商品信息=========================");
System.out.println("商品编号ttt商品名称ttt商品价格ttt商品数量");
for (int i = 0; i < shopCar.length; i++) {
Goods g=shopCar[i];
if (g != null) {
System.out.println(g.id+"tttt"+g.name+"tttt"+g.price+"tttt"+g.buyNumber);
}else {
break;
}
}
}
//定义一个方法,添加商品到购物车
public static void addGoods(Goods[] shopCar,Scanner sc) {
//1.录入用户输入的商品信息
System.out.println("请您输入商品的编号(不可重复):");
int id=sc.nextInt();
System.out.println("请您输入商品名称:");
String name=sc.next();
System.out.println("请您输入商品价格:");
double price=sc.nextDouble();
System.out.println("请输入商品数量:");
int buyNumber=sc.nextInt();
//2.把这个商品购买信息封装成一个商品信息
Goods g=new Goods();
g.id=id;
g.name=name;
g.price=price;
g.buyNumber=buyNumber;
//3.把这个商品对象添加到购物车数组中去
//找出这个数组空的地方存入
for (int i = 0; i < shopCar.length; i++) {
//说明此位置没有元素存入,把商品信息存入即可
if (shopCar[i] == null) {
shopCar[i]=g;
break;//存入之后就跳出循环,无需继续遍历
}
}
System.out.println("您的商品"+g.name+"已参加至购物车!!!");
}
}
Goods类:
package mianxiangduixiang.demo;
//创建一个商品类
public class Goods {
//构造商品变量
int id;//商品编号
String name;//商品名称
double price;//商品价格
int buyNumber;//商品数量
}
运行截图:
添加商品功能:
查看商品功能:
修改商品数量功能:
结算功能:
最后
以上就是魁梧口红为你收集整理的Java实现购物车功能的全部内容,希望文章能够帮你解决Java实现购物车功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复