Java入门——编程案例(1)

文章展示了三个Java代码案例,分别是计算机票价格(基于淡旺季和舱位类型),判断101-200之间的素数,以及生成包含数字和字母的随机验证码。通过这些案例,可以学习到条件判断、循环和字符串操作等编程技巧。
摘要由CSDN通过智能技术生成

案例01:买飞机票

  • 机票价格按照淡季旺季,头等舱和经济舱收费,输入机票原价,月份和头等舱或者经济舱。
  • 机票最终优惠价格的计算方案如下:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。
import java.util.Scanner;
public class Demo01 {
    public static void main(String[] args) {
        //1.输入机票要选择的原价,月份,舱位类型
        Scanner sc = new Scanner(System.in);
        System.out.print("请您输入机票的原价:");
        double money = sc.nextInt();
        System.out.print("请您输入机票的月份(1-12):");
        int month = sc.nextInt();
        System.out.print("请您输入要选择的舱位类型:");
        String type = sc.next();
        System.out.println("您优惠后的价格为:" + calc(money, month, type));
    }
    //2.定义新方法计算机票最终优惠价格
    public static double calc(double money,int month,String type){
        if (month >= 5 && month <= 10){
            //旺季
            switch (type){
                case "头等舱":
                    money *= 0.9;
                    break;
                case "经济舱":
                    money *= 0.85;
                    break;
                default:
                    System.out.println("您输入的舱位类型有误。");
                    money = -1;
            }
        }else if (month == 11 || month == 12 || month >= 1 && month <= 4){
            //淡季
            switch (type){
                case "头等舱":
                    money *= 0.7;
                    break;
                case "经济舱":
                    money *= 0.65;
                    break;
                default:
                    System.out.println("您输入的舱位类型有误。");
                    money = -1;
            }
        }else {
            System.out.println("sorry,您输入月份有误……");
            money = -1;
        }
        return money;
    }
}

 

案例02:找素数

  •  素数:如果除了1和它本身以外,不能被其他正整数整除,就叫素数。
  • 判断101-200之间有多少个素数,并输出所有素数。
//判断规则:从2开始遍历到该数的一半的数据,看是否有数据可以整除,有就不是素数,没有就是素数
//其实从2到开平方的那个数就可以判断是不是素数了,这里使用的是2到一半的方法判断是不是素数
public class Demo02 {
    public static void main(String[] args) {
        for (int i = 101; i < 200; i++) {
            boolean flag = true;//信号位:标记,一开始认为当前数据是素数
            //这里使用j<i/2,而不是<=,因为如果i/2可以被整除证明这个数是素数了就不需要用等号了
            for (int j = 2; j < i/2 ; j++) {
                //不是素数
                if (i % j == 0){
                    flag = false;
                    break;
                }
            }
            //判断是素数,再进行输出
            if (flag){
                System.out.println("以下是101-200之间的素数:");
                System.out.print(i + "\t");
            }
        }
    }
}

案例03:验证码

  • 定义方法实现随机产生一个5位的验证码,每位可能是数字,大写字母,小写字母。
import java.util.Random;
public class Demo03 {
    public static void main(String[] args) {
        System.out.println("随机生成的5位验证码为:" + createCode(5));
    }

    public static String createCode(int n){
        //3.定义一个字符串记录随机生成的字符
        String code = "";
        Random r = new Random();
        //1.for循环用于循环n次,依次生成随机字符
        for (int i = 0; i < n; i++) {
            //2.随机生成带有数字,英文大写,英文小写的字符串;
            //这里使用Random()方法生成随机字符串,0,1,2分别代表英文大写,英文小写,数字,从而实现随机生成验证码
            int type = r.nextInt(3);
            switch (type){
                case 0://英文大写(A:65~Z:(65+25))-->(bound:26)+65
                    char ch = (char) (r.nextInt(26)+65);
                    code += ch;
                    break;
                case 1://小写字符(a:97~z:(97+25))-->(bound:26)+97
                    char ch1 = (char)(r.nextInt(26)+97);
                    code += ch1;
                    break;
                case 2://数字(0-9)-->(bound:10)
                    code += r.nextInt(10);
                    break;
            }
        }
        return code;
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值