用户可以通过自己的爱好选择商品,可以选择商品的多少,将其添加到购物车,如果选错了,可以从购物车中删除选错的商品,最后计算总额。
package homework;
import java.util.Scanner;
interface Cart{
public boolean add(int num,int quantity);
public boolean delete(int num,int quantity);
public boolean clear();
public void onePrice(int num);
public void sumPrice();
}
class ShoppingCart implements Cart{
private int arr[];
public ShoppingCart() {
arr=new int[6];
for(int i=1;i<6;i++)
arr[i]=0;
}
@Override
public boolean add(int num,int quantity) {
arr[num]+=quantity;
return true;
}
@Override
public boolean delete(int num,int quantity) {
if(arr[num]>=quantity)
{
arr[num]=arr[num]-quantity;
return true;
}
else return false;
}
@Override
public boolean clear() {
for(int i=1;i<6;i++)
arr[i]=0;
return true;
}
@Override
public void sumPrice() {
int s=arr[1]*4+arr[2]*4+arr[3]*7+arr[4]*5+arr[5]*2;
System.out.println(" 全部商品总计:"+s+"元");
System.out.println();
}
@Override
public void onePrice(int num) {
switch(num)
{
case 1:{
int s=arr[num]*4;
if(s>0)
System.out.println("1 苹果"+arr[num]+"斤,总计:"+s+"元");
break;
}
case 2:{
int s=arr[num]*4;
if(s>0)
System.out.println("2 香蕉"+arr[num]+"斤,总计:"+s+"元");
break;
}
case 3:{
int s=arr[num]*7;
if(s>0)
System.out.println("3 葡萄"+arr[num]+"斤,总计:"+s+"元");
break;
}
case 4:{
int s=arr[num]*5;
if(s>0)
System.out.println("4 梨子"+arr[num]+"斤,总计:"+s+"元");
break;
}
case 5:{
int s=arr[num]*2;
if(s>0)
System.out.println("5 西瓜"+arr[num]+"斤,总计:"+s+"元");
break;
}
}
}
}
class Menu{
public static void showMenu(){
System.out.println(" 商品如下");
System.out.println(" 名称 售价");
System.out.println(" 1 苹果 4元/斤");
System.out.println(" 2 香蕉 4元/斤");
System.out.println(" 3 葡萄 7元/斤");
System.out.println(" 4 梨子 5元/斤");
System.out.println(" 5 西瓜 2元/斤");
}
public static void showFunction() {
System.out.println(" 1 加入购物车");
System.out.println(" 2 移除购物车");
System.out.println(" 3 清空购物车");
System.out.println(" 0 退出购物车");
}
}
public class Shopping{
public static void main(String[] args)
{
ShoppingCart arr=new ShoppingCart();
while(true)
{
Menu.showMenu();
Menu.showFunction();
Scanner in=new Scanner(System.in);
int n=in.nextInt();
switch(n)
{
case 1:{
System.out.println(" 请输入商品编号和数量(输入0停止)");
while(true) {
int a=in.nextInt();
if(a==0)
break;
int b=in.nextInt();
if(a>5||a<0)
System.out.println("商品编号为"+a+"的商品不存在");
else {
arr.add(a, b);
}
}
System.out.println(" 添加成功!");
for(int i=1;i<5;i++)
arr.onePrice(i);
arr.sumPrice();
break;
}
case 2:{
System.out.println();
System.out.println(" 请输入商品编号和数量(输入0停止)");
while(true) {
int a=in.nextInt();
if(a==0)
break;
int b=in.nextInt();
if(a>5||a<0)
System.out.println("商品编号为"+a+"的商品不存在");
else {
if(arr.delete(a, b))
System.out.println(" 删除成功!");
}
}
for(int i=1;i<5;i++)
arr.onePrice(i);
arr.sumPrice();
break;
}
case 3:{
System.out.println();
arr.clear();
System.out.println(" 清空成功!");
for(int i=1;i<5;i++)
arr.onePrice(i);
arr.sumPrice();
break;
}
}
if(n==0)
break;
}
}
}
原文:https://www.cnblogs.com/t----j/p/14007448.html