笔记1.3(练习)

练习小程序

1.用Scanner类进行人——机信息交互

 package com.test0;
 ​
 import java.util.Scanner;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/5  20:28
  * 用户给定半径计算圆的面积和周长,并在控制面板显示结果
  */
 public class test1 {
     public static void main(String[] args){
 ​
         Scanner input=new Scanner(System.in);        //获取Scanner对象,用来支持接收用户输入的功能
         System.out.println("请输入半径:");        //提示信息
         //String s=input.next();                       //让用户输入并接收到输入的值
         int r=input.nextInt();
         double pai=3.14;
         double area=pai*r*r;
         double perimeter=2*pai*r;
         System.out.println("半径:"+r+"面积:"+area+"周长:"+perimeter);
 ​
 ​
     }
 }
 ​

2.输入三个数用If嵌套结构对三个数进行由大到小的排序

 
package com.test0;
 ​
 import java.util.Scanner;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/5  20:41
  * 输入三个数并对三个数进行由大到小的排序
  */
 class test2 {
     public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.println("你输入的三个数是:");
         double a = input.nextDouble();
         double b = input.nextDouble();
         double c = input.nextDouble();
         System.out.println("a为" + a + "b为" + b + "c为" + c);
         if (a > b) {
             if(b>c){
                 System.out.println("a" + ">" + "b" + ">" + "c");
             }else if(b<c){
               if(a>c){
                   System.out.println("a" + ">" + "c" + ">" + "b");
               }else if(c>a){
                   System.out.println("c" + ">" + "a" + ">" + "b");
               }
             }
 ​
         } else if (a < b) {
             if(a>c){
              System.out.println("b" + ">" + "a" + ">" + "c");
             }else if(a<c){
                 if(b>c){
                     System.out.println("b" + ">" + "c" + ">" + "a");
                 }else if(c>b){
                     System.out.println("c" + ">" + "b" + ">" + "a");
                 }
             }
         }
     }
 }

3.equals()方法对字符串相等进行判断

 
package com.test0;
 ​
 import java.util.Scanner;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/5  22:04
  * 字符串判断相等,用" ".equals()
  */
 public class test3 {
     public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.println("请输入性别:"+"请输入成绩");
         String sex = input.next();
         int score = input.nextInt();
         if (score >= 90 && score <= 100) {
             if ("男".equals(sex)) {
                 System.out.println("奖励一个黑色台灯");
             } else if ("女".equals(sex)) {
                 System.out.println("奖励粉红色玩偶一个");
             }
         }else if(score<90 && score>=80){
             if ("男".equals(sex)) {
                 System.out.println("奖励一个练习本");
             } else if ("女".equals(sex)) {
                 System.out.println("奖励一个橡皮");
             }
         }
         else {
             System.out.println("没有奖励");
         }
     }
 }
 ​

4.获取随机数的两种方法

 package com.test0;
 ​
 import java.util.Random;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/6  9:23
  * 获取随机数
  */
 public class test5 {
    public static void main(String[] args){
        //方法一 Math.Random方法()
        //double ra=Math.random();        //Math.random()随机产生0~1不包括1的double类型的浮点数
        //System.out.println(ra);
        //System.out.println((int)(ra*100));    //用(int)(ra*100),强制将浮点型数据转换为int型数据
        //double b=Math.random();
        //System.out.println(b*100);        //产生一个0~100的浮点型随机数
        
        //方法二 Random类    
        //Random e=new Random();                //引入Randon类
        //double re=e.nextDouble();          //用nextDouble()产生一个0~1的随机浮点型数
            //System.out.println(re*100);      //产生0~100的随机浮点型数
 ​
        Random i=new Random();       //Random()括号里是种子数,当种子唯一确定后,产生的随机数也就唯一确定了
        int b=i.nextInt(100);        //产生一个0~100的整型随机数
        System.out.println();
    }
 ​
  }
 ​

5.Switch结构

 package com.test0;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/5  22:41
  * switch结构
  */
 public class test4 {
     public static void main(String[] args){
          int place=3;
          switch(place){
              case 1:
                  System.out.println("奖励一个笔记本");     //变量的数据类型必须和case后面的数据类型一样
                  break;             //中断,当case1执行后,就不再执行后面的case了,直接跳出switch
              case 2:
                  System.out.println("奖励一个ipal");
                  break;
              case 3:
                  System.out.println("奖励一个智能手表");
                  break;
              default:            //当所有case都不满足时,就执行default的内容
                  System.out.println("没有奖励");
                  break;
          }
     }
 }
 ​

6.用Random类随机产生一个大写字母

 
package com.test0;
 ​
 import java.util.Random;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/6  19:39
  * 随机产生一个大写字母
  */
 public class test6 {
     public static void main(String[] args){
         Random Random1=new Random();
         int num=Random1.nextInt(26);
         String data[]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
         if (num<=26){
             int i;
             i=num;
             System.out.println(++num);
             System.out.println(data[i]);
 ​
         }
     }
 }
 ​

7.水果店收银系统

 package com.test0;
 ​
 import java.util.Scanner;
 ​
 /**
  * @author YanSh-He
  * @data 2021/7/12  20:31
  * 水果店收银系统1.2优化版
  */
 public class test7 {
     public static void main(String[] args){
         Scanner input=new Scanner(System.in);         //引入Scanner类,进行人机交互
         String fruit1="樱桃";                         //水果名
         double price1=15.98;                          //水果单价
         String num1="1001";                           //水果编号
         String fruit2="椰子";
         double price2=9.8;
         String num2="1002";
         String fruit3="葡萄";
         double price3=12.69;
         String num3="1003";
         double total=0;
         for(;;) {
             System.out.println("请输入水果编号:");     //提示
             String num = input.next();                   //在控制面板手动输入水果编号
             System.out.println("请输入水果数量:");      //在控制面板手动输入水果数量
             double quantity = input.nextDouble();
             //System.out.println("您实际支付的金额为:");
             //int giveMoney=input.nextInt();
             if (num1.equals(num)) {                      //判断顾客所填写的编号是否为num1
                 System.out.println("您购买的是:" + fruit1);     //输出购买的水果名
                 double totalMoney = (price1) * quantity;         //计算这一种总价
                 System.out.println("您需要支付金额为:" + totalMoney);    //提示并输出需要支付的金额
                 total=totalMoney+total;                         //计算总共需要支付的钱
                 System.out.println("是否还有购买的水果,1是,0否");     //选择是否还有购买的水果需要结算
                 int choose1=input.nextInt();
                 if(choose1==1){
                     continue;
                 }
                 if(choose1==0){
                     System.out.println("您需要支付金额为:" + total);    //提示并输出需要支付的金额
                     System.out.println("您实际支付的金额为:");      //提示用户实际支付的金额
                     int giveMoney = input.nextInt();                 //手动输入用户实际支付的金额
                     double backMoney = giveMoney - total;         //计算找零
                     System.out.println("找零" + backMoney);          //输出找零
                     break;
                 }
                /** System.out.println("您需要支付金额为:" + totalMoney);    //提示并输出需要支付的金额
                 System.out.println("您实际支付的金额为:");      //提示用户实际支付的金额
                 int giveMoney = input.nextInt();                 //手动输入用户实际支付的金额
                 double backMoney = giveMoney - totalMoney;         //计算找零
                 System.out.println("找零" + backMoney);          //输出找零*/
 ​
             } else if (num2.equals(num)) {
                 System.out.println("您购买的是:" + fruit2);
                 double totalMoney = (price2) * quantity;
                 System.out.println("您需要支付金额为:" + totalMoney);
                 total=totalMoney+total;                         //计算总共需要支付的钱
                 System.out.println("是否还有购买的水果,1是,0否");     //选择是否还有购买的水果需要结算
                 int choose1=input.nextInt();
                 if(choose1==1){
                     continue;
                 }
                 if(choose1==0){
                     System.out.println("您需要支付金额为:" + total);    //提示并输出需要支付的金额
                     System.out.println("您实际支付的金额为:");      //提示用户实际支付的金额
                     int giveMoney = input.nextInt();                 //手动输入用户实际支付的金额
                     double backMoney = giveMoney - total;         //计算找零
                     System.out.println("找零" + backMoney);          //输出找零
                     break;
                 }
                /** System.out.println("您实际支付的金额为:");
                 int giveMoney = input.nextInt();
                 double backMoney = giveMoney - totalMoney;
                 System.out.println("找零" + backMoney);*/
             } else if (num3.equals(num)) {
                 System.out.print("您购买的是:" + fruit3);
                 double totalMoney = (price3) * quantity;
                 System.out.println("您需要支付金额为:" + totalMoney);
                 total=totalMoney+total;                         //计算总共需要支付的钱
                 System.out.println("是否还有购买的水果,1是,0否");     //选择是否还有购买的水果需要结算
                 int choose1=input.nextInt();
                 if(choose1==1){
                     continue;
                 }
                 if(choose1==0){
                     System.out.println("您需要支付金额为:" + total);    //提示并输出需要支付的金额
                     System.out.println("您实际支付的金额为:");      //提示用户实际支付的金额
                     int giveMoney = input.nextInt();                 //手动输入用户实际支付的金额
                     double backMoney = giveMoney - total;         //计算找零
                     System.out.println("找零" + backMoney);          //输出找零
                     break;
                 }
                /** System.out.println("您实际支付的金额为:");
                 int giveMoney = input.nextInt();
                 double backMoney = giveMoney - totalMoney;
                 System.out.println("找零" + backMoney);*/
             } else {
                 System.out.println("编码错误,请重新输入正确的编码");
             }
           }
         }
     }
 ​

8.掷色子猜大小系统

 package com.test0;
 ​
 import java.util.Random;
 import java.util.Scanner;
 ​
 /**
  * @author HeJun-Qi
  * @data 2021/7/6  21:49
  * 掷色子猜大小系统
  */
 public class test8 {
     public static void main(String[] args){
         Random random1=new Random();
         int result=random1.nextInt(6);
         Scanner input=new Scanner(System.in);
         System.out.println("请输入您的猜想:");
         String guess=input.next();
         System.out.println("随机点数是:" + (result));
         int finalResult=result+1;
         System.out.println("最终点数是:" + finalResult);
         
         if(finalResult<=3 && finalResult>=1){
             if("小".equals(guess)){
                 System.out.println("恭喜你猜想正确!");
                 
             }else if("大".equals(guess)){
                 System.out.println("很遗憾你猜想错误!");
             }
             
         }else if(finalResult<=6 && finalResult>=4){
             if("小".equals(guess)){
                 System.out.println("很遗憾你猜想错误!");
                 
             }else if("大".equals(guess)){
                 System.out.println("恭喜你猜想正确!");
             }
         }
     }
 }
 ​

9. ATM系统

package com.test0;

import java.util.Scanner;

/**
 * @author YanShu-He
 * @data 2021/7/26  3:27
 * FunctionDescription 改进版:增加了简易的安全防盗模式,输错密码3次今日账户将冻结,于次日凌晨00:00解冻;
 */
public class test11 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);     //引入Scanner类,进行人机交互
        String card1 = "1001";                      //卡号1
        String card2 = "1002";                      //卡号2
        String card3 = "1003";                      //卡号3
        int balance1 = 1000;                        //卡1的余额
        int balance2 = 2000;                        //卡2的余额
        int balance3 = 3000;                        //卡3的余额
        String password1 = "qwe123@";               //卡1的密码
        String password2 = "qwe456@";               //卡2的密码
        String password3 = "qwe789@";               //卡3的密码
        for (; ; ) {                                //无限循环结构,当输入卡号与密码不对应就循环
            System.out.println("请输入卡号:");      //提示输入卡号
            String card = input.next();             //输入卡号
            if (card1.equals(card)) {                //判断如果输入的卡号与卡1的卡号相同就执行if里面的程序
                System.out.println("请输入对应密码:");             //提示输入卡1的密码
                String password = input.next();                   //输入卡1的密码
                for(int i=1;i<=3;i++) {
                    if (password1.equals(password)) {                  //判断如果输入的密码是卡1的密码1,就执行if里面的内容
                        System.out.println("请选择取款还是存款:");      //提示请选择取款还是存款
                        String choose = input.next();                   // 输入请选择取款或者存款
                        if ("withDrawMoney".equals(choose)) {                           // 判断如果输入的是withDrawMoney就执行if里面的程序
                            System.out.println("您目前账户余额为:" + balance1);        //输出您目前账户余额为
                            System.out.println("请输入取款金额:");                     //提示输入取款金额
                            int withDrawAmount = input.nextInt();                     //输入取款金额
                            System.out.println("取款成功!");                          //提示取款成功!
                            balance1 = balance1 - withDrawAmount;                     //计算取款后您账户余额
                            System.out.println("取款后您账户余额为:" + balance1);      //输出取款后您账户余额
                            break;                                                    //跳出无限循环结构,程序结束
                        } else if ("deposit".equals(choose)) {                        //判断如果输入的是deposit就执行if里面的程序
                            System.out.println("您目前账户余额为:" + balance1);       //输出您目前账户余额为
                            System.out.println("请输入存款金额:");                    //提示输入存款金额
                            int depositAmount = input.nextInt();                    //输入存款金额
                            System.out.println("存款成功!");                         //提示存款成功!
                            balance1 = balance1 + depositAmount;                     //计算存款后您账户余额
                            System.out.println("存款后您账户余额为:" + balance1);      //输出存款后您账户余额
                            break;                                                    //跳出无限循环结构,程序结束
                        }
                    } else {                                                           //如果密码不是卡1的密码
                        if(i==3){
                            System.out.println("密码输入错误3次,今日不可在输入:");
                            break;
                        }else {
                            System.out.println("注意如果密码输入错误3次则今日不可在输入!");
                            System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
                            System.out.println("请重新输入正确的密码!");               //输出密码错误,请输入正确的密码
                            String passwordAgain = input.next();
                            password = passwordAgain;
                        }

                    }
                }
                break;
            } else if (card2.equals(card)) {      //判断如果输入的卡号与卡2的卡号相同就执行if里面的程序
                System.out.println("请输入对应密码:");
                String password = input.next();
                for(int i=1;i<=3;i++) {
                    if (password2.equals(password)) {//判断如果输入的密码是卡2的密码2,就执行if里面的内容
                        System.out.println("请选择取款还是存款:");
                        String choose = input.next();
                        if ("withDrawMoney".equals(choose)) {                        //取款
                            System.out.println("您目前账户余额为:" + balance2);
                            System.out.println("请输入取款金额:");
                            int withDrawAmount = input.nextInt();
                            System.out.println("取款成功!");
                            balance2 = balance2 - withDrawAmount;
                            System.out.println("取款后您账户余额为:" + balance2);
                            break;
                        } else if ("deposit".equals(choose)) {                     //存款
                            System.out.println("您目前账户余额为:" + balance2);
                            System.out.println("请输入存款金额:");
                            int depositAmount = input.nextInt();
                            System.out.println("存款成功!");
                            balance2 = balance2 + depositAmount;
                            System.out.println("存款后您账户余额为:" + balance2);
                            break;
                        }
                    } else {                     //如果密码不是卡2的密码就结束本次循环
                        if(i==3){
                            System.out.println("密码输入错误3次,今日不可在输入:");
                            break;
                        }else {
                            System.out.println("注意如果密码输入错误3次则今日不可在输入!");
                            System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
                            System.out.println("请重新输入正确的密码!");//输出密码错误,请输入正确的密码
                            String passwordAgain = input.next();
                            password = passwordAgain;
                        }

                    }
                }
                break;
            } else if (card3.equals(card)) {                                     // //判断如果输入的卡号与卡3的卡号相同就执行if里面的程序
                System.out.println("请输入对应密码:");
                String password = input.next();
                for(int i=1;i<=3;i++) {
                    if (password3.equals(password)) {                                //判断如果输入的密码是卡3的密码3,就执行if里面的内容
                        System.out.println("请选择取款还是存款:");
                        String choose = input.next();
                        if ("withDrawMoney".equals(choose)) {                        //取款
                            System.out.println("您目前账户余额为:" + balance3);
                            System.out.println("请输入取款金额:");
                            int withDrawAmount = input.nextInt();
                            System.out.println("取款成功!");
                            balance3 = balance3 - withDrawAmount;
                            System.out.println("取款后您账户余额为:" + balance3);
                            break;
                        } else if ("deposit".equals(choose)) {                     //存款
                            System.out.println("您目前账户余额为:" + balance3);
                            System.out.println("请输入存款金额:");
                            int depositAmount = input.nextInt();
                            System.out.println("存款成功!");
                            balance3 = balance3 + depositAmount;
                            System.out.println("存款后您账户余额为:" + balance3);
                            break;
                        }
                    } else{                                                //如果密码不是卡3的密码就结束本次循环
                        if(i==3) {
                            System.out.println("密码输入错误3次,今日不可在输入:");
                            break;
                        }else{
                    System.out.println("注意如果密码输入错误3次则今日不可在输入!");
                    System.out.println("密码输入错误,你还可以输入" + (3-i) + "次密码");
                    System.out.println("请重新输入正确的密码!");               //输出密码错误,请输入正确的密码
                    String passwordAgain=input.next();
                    password=passwordAgain;}
                        }
                }
                break;
            } else {
                System.out.println("卡号错误,请输入正确的卡号!");
            }

        }

    }

}

注:由于当时未学习到方法,所以有很多代码未能用方法调用导致重复编写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值