安博靖宁 2017-12-04 10:35 采纳率: 0%
浏览 669

刚java初级入门,帮忙用简单的方法给解决一下,谢谢

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;
    }
}

}

  • 写回答

1条回答 默认 最新

  • Hello_Wude 2017-12-05 16:59
    关注

    给你个案例参考下吧

    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();
        }
    
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64