package JavaFirstWeek;
import java.util.Scanner;//导包语句;必须在定义class语句的上面,可以有多条导包语句
public class shoppingDemo{
public static void main(String[] args) {
//定义变量
Scanner input = new Scanner(System.in);
String userName = "admin";
String password = "123";
//界面
System.out.println("============欢迎使用购物管理系统==============");
System.out.println("\n\t\t1.登录\n\n\t\t2.退出");
System.out.println("请输入数字选择:");
System.out.println("--------------------------------------------");
String choice = input.next();
switch (choice) {
case "1":
//登录
System.out.println("请输入用户名:");//syso,按ALT+?键,再回车
String name = input.next();
System.out.println("请输入密码:");
String pass = input.next();
//登录判断
if(name.equals(userName)&&pass.equals(password)){
System.out.println("登录成功");
System.out.println("==========欢迎使用购物管理系统===========");
System.out.println("\n\t1.客户信息管理\n\t2.购物结算\n\t3.真情回馈\n\t4.退出");
System.out.println("请输入数字选择:");
System.out.println("--------------------------------------------");
String choice1 = input.next();
switch (choice1) {
case "1":
System.out.println("购物管理系统》客户信息管理系统");
System.out.println("1.查看客户信息\n2.新增客户信息\n3.查找客户信息\n4.修改客户信息\n5.删除客户信息\n6.退出");
System.out.println("请输入数字选择:");
System.out.println("--------------------------------------------");
String choice2 = input.next();
System.out.println("退出成功!");
System.exit(0);
switch (choice2) {
case "1":
break;
case "2":
break;
case "3":
break;
case "4":
break;
case "5":
break;
case "6":
break;
default:
break;
}
break;
case "2":
//购物结算
//声明变量
//商品名称
String goodsName = "";
//商品价格
double price = 0;
//商品库存
int num = 0;
//总价
double tatalMoney = 0.0;
//折扣
double discount = 0.8;
//付款金额
double payMoney = 0.0;
//找零金额
double returnMoney = 0.0;
int a = 1;
while(a<=3){
//显示商品
System.out.println("本商场有以下商品:");
System.out.println("1.手机\n2.冰箱\n3.空调\n4.电视机\n5.笔记本电脑\n");
System.out.println("请输入相对应的数字选择您要购买的商品:");
System.out.println("---------------------------------");
String goodsChoice = input.next();
//选择商品
switch (goodsChoice) {
case "1":
goodsName = "小米手机";
price = 2999;
num = 100;
break;
case "2":
goodsName = "小米电视";
price = 4999;
num = 20;
break;
case "3":
goodsName = "小米笔记本电脑";
price = 6999;
num = 50;
break;
case "4":
goodsName = "海尔冰箱";
price = 3999;
num = 10;
break;
case "5":
goodsName = "格力空调";
price = 4999;
num = 30;
break;
default:
System.out.println("输入有误");
break;
}
System.out.println("你选择的商品是:"+goodsName+",单价是:¥"+price+"元,库存数:"+num);
System.out.println("请输入你要购买的数量:");
int num1 = input.nextInt();
//判断库存
if(num1>num){
System.out.println("库存不足");
return;
}
//付款总金额
tatalMoney += price * num1;
a++;
}
//显示总价
System.out.println("商品的总价是:¥"+tatalMoney+"元,请付款:");
payMoney = input.nextDouble();
//判断付款够不够
if(payMoney>=tatalMoney){
System.out.println("支付成功:找零:"+(payMoney-tatalMoney));
System.out.println("请收好您的商品和 零钱,欢迎再次光临");
}else{
System.out.println("余额不足,支付失败");
}
break;
case "3":
//真情回馈
break;
case "4":
System.out.println("退出成功");
System.exit(0);//0表示正常退出,其他的表示非正常退出
break;
default:
System.out.println("输入有误");
break;
}
}else{
System.out.println("登录失败!");
}
break;
case "2":
System.out.println("退出成功");
System.exit(0);//0表示正常退出,其他的表示非正常退出
break;
default:
System.out.println("输入有误!");
break;
}
}
}
给你个案例参考下吧
public class StudentManger {
public static void main(String[] args) throws IOException {
// 定义文件名
String fileName = "stuData.txt";
// 显示学生管理系统信息,并提示用户输入
while (true) {
System.out.println("---欢迎进入学生管理系统---");
System.out.println("1.查看学生");
System.out.println("2.添加学生");
System.out.println("3.删除学生");
System.out.println("4.修改学生");
System.out.println("5.退出系统");
// 提示用户选择对应的操作
Scanner sc = new Scanner(System.in);
System.out.println("请选择对应的操作");
String choose = sc.nextLine();
// 判断用户选择的操作
switch (choose) {
case "1":
lookStudent(fileName);
break;
case "2":
addStudent(fileName);
break;
case "3":
deleteStudent(fileName);
break;
case "4":
updateStudent(fileName);
break;
case "5":
System.out.println("您已退出系统");
return;// 结束所在的方法,如果是在main方法里面直接结束程序
//System.exit(0);
//break;
default:
System.out.println("你的选择有误,请重新选择");
break;
}
}
}
// 查看学生
// 参数: String fileName
// 返回值:void
// 方法名: lookStudent
public static void lookStudent(String fileName) throws IOException{
// 创建集合准备存储学生信息
ArrayList<Student>list = new ArrayList<Student>();
readData(fileName, list);
// 判断集合是否有内容
if(list.size() == 0){
System.out.println("暂时没有学生,请添加");
return;// 结束当前方法
}
// 遍历输出学生信息
System.out.println("编号"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"地址");
for(int i = 0; i<list.size(); i++){
Student stu = list.get(i);
System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress());
}
}
// 添加学生
// 参数: String fileName
// 返回值:void
// 方法名:addStudent
public static void addStudent(String fileName) throws IOException{
//创建集合准备存储数据
ArrayList<Student>list = new ArrayList<Student>();
//读取数据放入到list
readData(fileName, list);
//提示用户输入编号
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生编号");
String id;
// 判断学生是否存在
while(true){
id = sc.nextLine();
// 记录学生是否存在
boolean flag = false;
for(int i =0 ;i<list.size(); i++){
//取出学生
Student stu = list.get(i);
//判断编号
if(stu.getId().equals(id)){
flag = true;// 说明要添加的学生已经存在
break;
}
}
//判断是否结束循环
if(flag){
System.out.println("要添加学生已经存在,请重新输入编号");
}else{
break;
}
}
//继续提示输入
System.out.println("请输入学生姓名");
String name = sc.nextLine();
System.out.println("请输入学生年龄");
String age = sc.nextLine();
System.out.println("请输入学生地址");
String address = sc.nextLine();
//创建学生
Student stu = new Student(id, name, age, address);
//添加到集合
list.add(stu);
// 写入list集合中数据到文件
writeData(fileName, list);
}
// 删除数据
// 参数: String fileName
// 返回值:void
// 方法名: deleteStudent
public static void deleteStudent(String fileName) throws IOException{
// 创建集合准备存储学生数据
ArrayList<Student>list= new ArrayList<Student>();
//调用方法读取数据
readData(fileName, list);
// 请输入学生编号
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生编号");
String id = sc.nextLine();
//判断学生是否存在
int index = -1;
for(int i = 0; i<list.size();i++){
Student stu = list.get(i);
//判断编号
if(stu.getId().equals(id)){
index = i;
break;
}
}
//判断是否要删除
if(index == -1){
System.out.println("你要删除的学生不存在,请重新选择操作");
return;
}
//删除学生
list.remove(index);
// 写入到文件
writeData(fileName, list);
System.out.println("恭喜你删除成功");
}
// 修改学生
// 参数:String fileName
// 返回值:void
// 方法名: updateStudent
public static void updateStudent(String fileName) throws IOException{
// 创建集合准备存储学生信息
ArrayList<Student>list = new ArrayList<Student>();
readData(fileName, list);
// 提示输入要删除的学生编号
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生编号");
String id = sc.nextLine();
//判断学生是否存在
int index = -1;
for(int i =0;i<list.size();i++){
Student stu = list.get(i);
//判断
if(stu.getId().equals(id)){
index = i;
break;
}
}
//判断是否要修改学生
if(index == -1){
System.out.println("你要修改的学生不存在,请重新选择操作");
return;
}
//修改操作
System.out.println("请输入新的学生姓名");
String name = sc.nextLine();
System.out.println("请输入新的学生年龄");
String age = sc.nextLine();
System.out.println("请输入新的学生地址");
String address = sc.nextLine();
//创建学生对象,赋值输入的新的信息
Student stu = new Student(id, name, age, address);
//修改
list.set(index, stu);
//写入到文件
writeData(fileName,list);
System.out.println("恭喜你修改成功");
}
// 读取数据
// 参数: String fileName, ArrayList<Student>list
// 返回值: void
// 方法名:readData
public static void readData(String fileName, ArrayList<Student>list) throws IOException{
// 创建缓冲输入流
BufferedReader br = new BufferedReader(new FileReader(fileName));
//调用方法读取数据
String line;
while((line = br.readLine()) != null){
//将读取到的字符串,切割成字符串数组
String []strs = line.split(",");
// 创建学生对象,赋值切割的信息
Student stu = new Student(strs[0], strs[1], strs[2], strs[3]);
//添加到集合
list.add(stu);
}
//关闭流
br.close();
}
// 写入数据
// 参数: String fileName, ArrayList<Student>list
// 返回值: void
// 方法名 : writeData
public static void writeData( String fileName, ArrayList<Student>list) throws IOException{
// 定义文件缓冲输出流
BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
//写入数据
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
// 将学生信息拼接成字符串
StringBuilder sb = new StringBuilder();
sb.append(stu.getId()).append(",").append(stu.getName()).append(",").append(stu.getAge()).append(",").append(stu.getAddress());
// 写入到文件
bw.write(sb.toString());
bw.newLine();
bw.flush();
}
//关闭资源
bw.close();
}
}