模拟购物车案例
要求 :
1 .显示商品的编号、名称、单价、数量
2.添加商品信息
3.修改所购买商品数量
4.显示购物车内商品信息
5.计算总金额
代码如下
首先建立一个商品类-Goods
package obj; public class Goods { int id;//编号 String name;//商品名称 double price;//价格 int buynumber;//购买数量 }
接着建立shopcarTest类
package obj; import java.util.Scanner; public class shopcarTest { public static void main(String[] args) { //定义购物车类,使用数组对象表示 Goods []shopCar=new Goods[100]; //建立购物车框架 while(true) { System.out.println("请您选择以下选项进行操作"); System.out.println("添加商品到购物车:add"); System.out.println("修改购买商品的数量:update"); System.out.println("显示购物车内的物品信息:query"); System.out.println("结算最终价格:pay"); Scanner sc=new Scanner(System.in); System.out.println("请您输入命令"); String commad= sc.next(); switch(commad) { case "add": //添加商品到购物车 addGoods(shopCar,sc); break; case "update": //更改商品数量 updateGoods(shopCar,sc); break; case"query": //查询购物车信息 queryGoods(shopCar); break; case"pay": //计算金额 payGoods(shopCar); break; } } } public static void addGoods(Goods[]shopCar, Scanner sc) {//录入用户输入的购买商品的信息 System.out.println("请输入购买商品的编号(不重复)"); int id = sc.nextInt(); System.out.println("请输入购买商品的姓名"); String name=sc.next(); System.out.println("请输入购买商品的数量"); int buynumber=sc.nextInt(); System.out.println("请输入购买商品的价格"); double price=sc.nextDouble(); //把购买商品的信息封装成一个商品对象 Goods g=new Goods(); g.id=id; g.name=name; g.buynumber=buynumber; g.price=price; //把商品对象加到数组中去 for(int i=0;i<shopCar.length;i++) { if(shopCar[i]==null) { shopCar[i]=g; break; } } } public static void queryGoods(Goods[]shopCar) { System.out.println("===========查询购物车信息=========="); System.out.println("编号/t/t姓名/t/t数量/t/t价格/t/t"); for(int i=0;i<shopCar.length;i++) { Goods g=shopCar[i]; if(g!=null) { System.out.println(g.id+"/t/t"+g.name+"/t/t"+g.buynumber+"/tt/t"+g.price); } else { break; } } } public static void updateGoods(Goods[]shopCar,Scanner sc) {//让用户输入要修改商品的id,对原购买商品的价格进行修改· while(true) { System.out.println("请您输入要修改商品数量的id"); int id=sc.nextInt(); Goods g=getGoods(shopCar,id);//调用getGoods函数 if(g==null) {//没有该商品 System.out.println("对不起,没有购买该商品"); } else System.out.println("请您输入"+g.name+"的最新购买数量"); int buynumber=sc.nextInt(); g.buynumber=buynumber; System.out.println("修改完成!"); queryGoods(shopCar); break; } } public static Goods getGoods(Goods[]shopCar, int id) { for(int i=0;i<shopCar.length;i++) { Goods g=shopCar[i]; if(g!=null) { if(g.id==id) { return g; } }else {return null; } } return null; } public static void payGoods(Goods[]shopCar) {//计算购物车内商品总金额 double sum=0; for(int i=0;i<shopCar.length;i++) { Goods g=shopCar[i]; if(g!=null) { sum+=g.price*g.buynumber; } } System.out.println("购物车中的商品总金额为"+sum); } }
2.
建立电影院模拟信息展示
需求:把电影院里面的电影信息展示出来,其中包括电影名称、电影评分、主演等信息
首先建立一个电影类
在建立电影类时学会了使用getter and setter
按住shift+alt+s,选择getter and setter选项
可以快速建立成员信息
package javabean; public class Movie { //成员变量 private String name; private double score; private String actor; public Movie() { } public Movie(String name, double score, String actor) { this.name = name; this.score = score; this.actor = actor; } //getter and setter public String getName() { return name; } public void setName(String name) { this.name = name; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public String getActor() { return actor; } public void setActor(String actor) { this.actor = actor; } }
接着创建主函数,把电影信息展示出来
public class Test { public static void main (String[] args) {//创建三个电影对象,进行封装,再定义一个数组存储三部电影信息 Movie[] movies =new Movie[3]; movies[0]=new Movie("《长津湖》",9.7,"吴京"); movies[1]=new Movie("《我和我的父辈》",9.6,"吴京"); movies[2]=new Movie("《扑水少年》",9.5,"王川"); //遍历数组中的每个数组对象,然后把他们的信息展现出来 for(int i=0;i<movies.length;i++) { Movie m=movies[i]; System.out.println("电影名称:"+m.getName()); System.out.println("电影评分:"+m.getScore()); System.out.println("电影主演:"+m.getActor()); System.out.println("------------------------"); } } }
运行结果如下
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280346.html