模拟购物车案例
要求 :
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/tech/pnotes/280346.html