美文网首页
2022-09-07 javaDay3

2022-09-07 javaDay3

作者: 杨三毛同志 | 来源:发表于2022-09-07 16:56 被阅读0次

JAVA Day3 主要实现了一个存取款机的功能

<font color=blue size=4>刚刚交了作业,有点小问题就是变量首字母我大写了,大写表示常量,下次注意</font>

  • 判断成绩等级

     `System.out.println("请输入成绩Grade:");
     Scanner scanner = new Scanner(System.in);
     double grade = scanner.nextDouble();
     if(grade >= 90){
         System.out.println("优秀");
     } else if (grade >= 80) {
         System.out.println("良好");
     } else if (grade >= 60) {
         System.out.println("合格");
     }else {
         System.out.println("不合格");
     }`
    
  • 选择结构

    • 多分支

      • if(){ } else if (){ }else { }

      • switch(){ case: break; case: break; case: break; default: break; }


<font size=4 color=#998>eg: </font>

    1.  
    `System.out.println("请输入今天星期几:");
    Scanner scan = new Scanner(System.in);
    int day = scan.nextInt();
    switch(day){
        case 1:
            System.out.println("今天周一,吃面条");
        break;
        case 2:
            System.out.println("今天周二,吃螺蛳粉");
        break;
        case 3:
            System.out.println("今天周三,吃火锅");
        break;
        default:
            System.out.println("今天不吃饭");
            break;
    }`

    2. 
        `switch (day) {
        case 1, 2, 3:
            System.out.println("春天");
            break;
        case 4, 5, 6:
            System.out.println("夏天");
            break;
        case 7, 8, 9:
            System.out.println("秋天");
            break;
        default:
            System.out.println("冬天");
            break;
    }`

    3. `case 1:
        case 2:
        case 3:
            System.out.println("春天");
            break;`

<font color=#226>例题:运输公司对用户计算运费,路程越远每公里运费越低。
每公里每吨货物基本运费是 p(自定义基础运费),货物重量为 w 吨,距离为 s 公里,折扣为 d,总运费 f = pws(1-d)
s < 250km 折扣为0
250<= s < 500 2%
500<= s < 1000 5%
1000<= s < 2000 8%
2000<= s < 3000 10%
3000<= s 15%
</font>

    `System.out.println("请输入路程,货物重量:");
    final int p = 8;
    double w, s, d, f;
    Scanner scanner = new Scanner(System.in);
    s = scanner.nextDouble();
    w = scanner.nextDouble();
    d = 0;
    if(s < 250){
        d = 0;
    } else if (250<= s && s <500) {
        d = 0.02;
    } else if (500 <= s && s < 1000) {
        d = 0.05;
    }else if (1000 <= s && s < 2000) {
        d = 0.08;
    }else if (2000 <= s && s < 3000) {
        d = 0.1;
    }else if(s >= 3000){
        d = 0.15;
    }
    f = p * w * s * (1 -d);
    System.out.println("运费为:" + f);```

<font color=red>
String是字符类型不能用==来判断
</font>

PRACTICE

完成一个银行柜员机存取款程序,账户初始余额为500元
  1. 首先完成用户登录页面,

    使用if else语句进行逻辑判断返回数值

     `Scanner scanner = new Scanner(System.in);
     String name = "zhangsan";
     String psd = "201314";
     int money = 500;
     System.out.println("请输入账号:");
     String ipt = scanner.next();
     System.out.println("请输入账号:");
     String psdIpt = scanner.next();
     if (ipt.equals(name) && psdIpt.equals(psd)) {
         System.out.println(name + ",欢迎回来");
     } else {
         System.out.println("密码或用户名输入错误,请重新输入!");
     }`
    
  2. 登录页面完成后我们就可以在用户使用页面进行用户操作:

    首先要登录成功才可以进行下面的操作,所以在第一个if判定正确时展开下一步选择:

         `if (ipt.equals(name) && psdIpt.equals(psd)) {
         System.out.println(name + ",欢迎回来");
         System.out.println("请选择办理的业务:1. 存款,2.取款,3. 查询余额,4. 退出登录");
         int choice = scanner.nextInt();
         switch (choice) {
             case 1:
                 System.out.println("请输入存款额,金额需为100的倍数");
                 int count = scanner.nextInt();
                 money = money + count;
                 System.out.println("存款成功,您的余额为:" + money + "元");
                 break;
             case 2:
                 System.out.println("请输入取款金额:");
                 int draw = scanner.nextInt();
                 if (draw > money) {
                     System.out.println("您的余额不足!");
                 } else {
                     money = money - draw;
                     System.out.println("取款成功,您的余额为:" + money + "元");
                 }
                 break;
             case 3:
                 System.out.println("查询成功,您的余额为:" + money + "元");
                 break;
             case 4:
                 System.out.println("您已退出登录!");
                 break;
             default:
                 System.out.println("您的操作有误,请重新输入!");
                 break;
         }
     }`
    
  3. 在这里需要考虑的问题是只有四个选项所以采用了switch case语句,
    在取款的这一选项中需要考虑余额不足的因素,所以要嵌套使用if语句进行判断,最终可以实现取款的功能。

    在这次练习中,最大的问题就是总是忘记使用break语句,也就是老师所说的存款一会变一下,因为没有break,所以程序会不断地执行,直到整个程序的结束。
    需要注意的是money需要写在循环外部,应该定义为全局变量。

  4. 为了减少代码嵌套,所以声明一个布尔值boolean flag = false;如果登录成功,令flag=true;

    if(flag){ 进入功能选择 }

    可以将登录和存取功能分开,即模块化。

相关文章

  • 2022-09-07 javaDay3

    JAVA Day3 主要实现了一个存取款机的功能 刚刚交了作业,有点小问题就是变量首字母我大写了,大写表示常量,下...

  • 《为贵阳祈祷》冬冬撰文与绘画 2022-09-07

    《为贵阳祈祷》 冬冬 撰文与绘画 2022-09-07 日光...

  • 早餐的麦片

    2022-09-07 晴热 周三 早上,当老婆将宝贝当作早餐的麦片倒入碗里的时候,只听到宝贝...

  • 【忆旧游】

    【忆旧游】 (2022-09-07) 记昔时泊旅,铁马飞鹰,遍访神州。迎琼崖朝旭,看盐湖落日,大漠星稠。峨眉路遭猴...

  • 2022-09-07

    Nat Meth | 首个蛋白,核酸和大分子复合物3D结构匹配通用平台 原创风不止步图灵基因2022-09-07 ...

  • 0310共读|少有人走的路

    2022-09-07 北京 晴天最近两天的作业~笔记打卡。 诺言21天《少有人走的路》共读营· 欢喜遇见组 关于“...

  • 《复杂软件设计之道:领域驱动设计全面解析与实战》笔记

    2022-09-07 11:26:36 缺乏项目现场的业务上下文背景,需求文档只能抽象地表达一种通用业务要求,这种...

  • 人生路上,结伴很重要

    2022-09-07/星期三/走撒。 晚睡必定会晚起,昨晚为了一个旁白能少点噪音,等到环境合适了才开始。 早上起床...

  • 20220907教育部专业目录发布

    教育部发布新版《职业教育专业简介》 2022-09-07来源:教育部 近日,教育部发布新版《职业教育专业简介》(以...

  • 妈妈能有多忙

    幸福日志2022-09-07 周三 多云 每天只要六点起床,家务活是必然干不完的,清理垃圾、拿牛奶、东西归位、擦洗...

网友评论

      本文标题:2022-09-07 javaDay3

      本文链接:https://www.haomeiwen.com/subject/clbgnrtx.html