嗨嗨嗨!
没想到吧,出现了抽象轻松第4种语言系列(我也没想到)
简单的java程序,看完就懂的简单逻辑——购物车系统
购物车,首先要有商品吧,现实中的商品有什么属性?
名字,价格,数量,编码等等
知道了这些属性,就应该考虑用什么来存放它们!
是整数型?是浮点型?是对象?还是数组?
很显然,数组就成了我们的首选!
声明一个数组,用来存放商品的属性
购物车系统包括了增删改查结算5个功能,除了这五个功能还有一个首页选择功能
也就是说,一个购物车系统包括了6个功能,通过选择进入剩下的五个模块
开始编写,为了照顾情绪,我们先做一件特别简单的事
public class GoodsShop {public static void main(String[] args) {System.out.println("欢迎来到购物车管理系统");}
}
没错,先简单的输出一句话
定义一个类,用来存放商品对象
class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格}
商品的属性有了,该用车子装起来了吧,声明数组
System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限
又因为我们的商品对象和测试类不在一起,所以想要使用obj类里面的方法是需要调用的
加上我们要输入内容,随便也把Scanner一起调用
System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限obj obj = new obj();//调用objScanner scanner = new Scanner(System.in);//输入
基础的工作做完了,改进入功能的编写了
第一个功能编写,选择页面,我们使用循环输入值,通过判断,进入对应的方法
循环有三个:do...while , while ,for
选择语句,if ,if...else ,switch
因为运行完一个功能就要跳回改页面,为了简单可以用while
选择语句,总不可能写5个if...else吧,但是如果你愿意还是可以写5个的,因为他们有相同的逻辑
使用switch()选择会更加的简单
while (true) {System.out.println("输入1进入增加页面");System.out.println("输入2进入查看页面");System.out.println("输入3进入修改页面");System.out.println("输入4进入删除页面");System.out.println("输入5进入结算页面");double shuzi = scanner.nextDouble();switch ((int) shuzi) {case 1 : obj.add();break;//调用增case 2 : obj.cha();break;//调用查case 3 : obj.del();break;//调用删case 4 : obj.gai();break;//调用改case 5 : obj.sum();break;//调用结算default:System.out.println("请重新输入");}}
现在代码就变成这样了,调用要有方法原型吧,在类里面把方法写入
class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格public static void add(){System.out.println("欢迎来到增加页面");}public static void cha(){System.out.println("欢迎来到查看商品页面");}public static void del(){System.out.println("欢迎来到删除页面");}public static void gai(){System.out.println("欢迎来到修改页面");}public static void sum(){System.out.println("欢迎来到结算页面");}
}
到了这里就先停下来了
先完成大体的框架
import java.util.Scanner;public class GoodsShop {public static void main(String[] args) {System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限obj obj = new obj();//调用objScanner scanner = new Scanner(System.in);//输入while (true) {System.out.println("输入1进入增加页面");System.out.println("输入2进入查看页面");System.out.println("输入3进入修改页面");System.out.println("输入4进入删除页面");System.out.println("输入5进入结算页面");double shuzi = scanner.nextDouble();switch ((int) shuzi) {case 1 : obj.add();break;//调用增case 2 : obj.cha();break;//调用查case 3 : obj.del();break;//调用删case 4 : obj.gai();break;//调用改case 5 : obj.sum();break;//调用结算default:System.out.println("请重新输入");}}}
}class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格public static void add(){System.out.println("欢迎来到增加页面");}public static void cha(){System.out.println("欢迎来到查看商品页面");}public static void del(){System.out.println("欢迎来到删除页面");}public static void gai(){System.out.println("欢迎来到修改页面");}public static void sum(){System.out.println("欢迎来到结算页面");}
}
你的每一次输入,都会进入不同的页面