JavaSE 基础案例实战和代码

案例1: 买飞机票
在这里插入图片描述

package practice;

import java.util.Scanner;

public class PlanTickets {
    
    
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        System.out.println("Original Price:");
        double price = sc.nextDouble();
        System.out.println("month:");
        int month = sc.nextInt();
        System.out.println("type:");
        String type = sc.next();

        double result = calcPrice(price, month, type);
        System.out.println(result);
    }

    // 定义方法 形参: 原价 月份 类型(头等舱或者经济舱) 返回值类型 double
    public static double calcPrice(double price, int month, String type) {
    
    
        // 判断月份是淡季还是旺季
        if (month >= 5 && month <= 10) {
    
    
            switch (type) {
    
    
                case "eco":
                    price *= 0.85;
                    break;
                case "prime":
                    price *= 0.9;
                    break;
                default:
                    System.out.println("wrong input");
                    price = -1;
            }
        } else if (month == 11 || month == 12 || month >= 1 && month <= 4) {
    
    
            switch (type) {
    
    
                case "eco":
                    price *= 0.65;
                    break;
                case "prime":
                    price *= 0.7;
                    break;
                default:
                    System.out.println("wrong input");
                    price = -1;
            }
        } else {
    
    
            System.out.println("month not valid!");
        }

        return price;
    }
}

案例2. 找素数
在这里插入图片描述

package practice;

public class FindPrimeNumber {
    
    
    public static void main(String[] args) {
    
    
        // 找到101-200之间的所有质数
        for (int i = 101; i < 201; i++) {
    
    

            // 信号位
            boolean flag = true; // 假设是质数

            // 如果2-这个数的一半都没有能整除在这个数的数字 则这个数是 质数
            for (int j = 2; j < i / 2; j++) {
    
    
                if (i % j == 0) {
    
    
                    flag = false;
                    break;
                }
            }

            if (flag) {
    
    
                System.out.print(i + "\t");
            }
        }
    }
}

在这里插入图片描述

案例3. 开发验证码
在这里插入图片描述

package practice;

import java.util.Random;

public class GenerateCaptcha {
    
    
    public static void main(String[] args) {
    
    
        String captcha = generateCode(10);
        System.out.println(captcha);
    }

    // n 代表验证码有几位
    public static String generateCode(int n) {
    
    
        String code = "";
        Random r = new Random();
        for (int i = 0; i < n; i++) {
    
    

            // 生成随机字符 英文大写 小写 数字 (0 1 2)
            int type = r.nextInt(3); // (0 1 2)
            switch (type) {
    
    
                case 0:
                    // 英文大写 A 65 - Z 65+25
                    char ch = (char) (r.nextInt(26) + 65);
                    code += ch;
                    break;
                case 1:
                    // 英文小写
                    char ch2 = (char) (r.nextInt(26) + 97);
                    code += ch2;
                    break;
                case 2:
                    // 数字
                    code += r.nextInt(10);
            }
        }

        return code;
    }
}

在这里插入图片描述
在这里插入图片描述

案例4. 复制数组元素
在这里插入图片描述

package practice;

public class CopyArray {
    
    
    public static void main(String[] args) {
    
    
        int[] arr1 = {
    
    11,22,33,44};

        int[] arr2 = new int[arr1.length];

        copyArr(arr1, arr2);

        for (int i = 0; i < arr2.length; i++) {
    
    
            System.out.print(arr2[i] + "\t");
        }
    }

    public static void copyArr(int[] arr1, int[] arr2) {
    
    
        for (int i = 0; i < arr1.length; i++) {
    
    
            arr2[i] = arr1[i];
        }
    }
}

在这里插入图片描述

案例5. 评委打分

在这里插入图片描述

package practice;

import java.util.Scanner;

public class RateDemo {
    
    
    public static void main(String[] args) {
    
    
        int[] scores = new int[6];

        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < scores.length; i++) {
    
    
            System.out.println("输入第" + (i + 1) + "个评委的打分:");
            int grade = sc.nextInt();
            scores[i] = grade;
        }

        int max = scores[0], min = scores[0], sum = 0;
        for (int i = 0; i < scores.length; i++) {
    
    
            if (scores[i] > max) {
    
    
                max = scores[i];
            }

            if (scores[i] < min) {
    
    
                min = scores[i];
            }

            sum += scores[i];
        }

        double average = (sum - max - min) / (scores.length - 2);

        System.out.println("average rating is " + average);
    }
}

在这里插入图片描述

Guess you like

Origin blog.csdn.net/dyw3390199/article/details/121132723