面向对象的编程-训练
用于构造对象的class类:Goods.class
package Demo;
public class Goods {
int id;
String name;
double price;
int buyNumber;
}
主函数体
package Demo;
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("查询商品到购物车:query");
System.out.println("修改买商品的数量:update");
System.out.println("结算商品购买金额:pay");
Scanner sc =new Scanner(System.in);
System.out.println("输入命令:");
String commands = sc.next();
switch (commands){
case "add":
addGoods(shopCar,sc);
break;
case "query":
queryGoods(shopCar);
break;
case "update":
updateGoods(shopCar,sc);
break;
case "pay":
pay(shopCar);
break;
default:
System.out.println("您输入的字符串有问题,没有这个功能");
}
}
}
public static void pay(Goods[] shopCar) {
double heJi=0.0;
for(int i=0;i<shopCar.length;i++){
Goods g = shopCar[i];
System.out.println("商品名称\t\t"+"单价"+"\t\t"+"数量\t\t"+"金额");
if(g!=null){
System.out.println(g.name+"\t\t"+g.price+"\t\t"+g.buyNumber+"\t\t"+g.buyNumber*g.price);
heJi+=g.buyNumber*g.price;
}else{
System.out.println("合计总金额:"+heJi+"元");
break;
}
}
}
public static void updateGoods(Goods[] shopCar,Scanner sc) {
while (true) {
System.out.println("请输入商品的id:");
int id= sc.nextInt();
Goods g=getGoodsById(shopCar,id);
if(g==null){
System.out.println("没有该商品,请重新输入");
}else{
System.out.println("查询到该商品信息:\n"+
g.id+"\t\t"+g.name+"\t\t"+g.price+"\t\t"+g.buyNumber+"\n" +
"请您重新输入该商品的购买数量:");
int buyNumber= sc.nextInt();
g.buyNumber=buyNumber;
System.out.println("修改完成!新的购物车信息为:\n");
queryGoods(shopCar);
break;
}
}
}
public static Goods getGoodsById(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 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.price+"\t\t"+g.buyNumber+"\t\t");
}else {
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;
System.out.println("您的商品 "+ g.name +" 已经添加至购物车");
break;
}
}
}
}
实例截图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/fd1d4e368c33488689587401d8b5ec32.png)