Java基础学习day03-作业

简介: 本内容包含多个Java编程案例,涵盖条件判断、循环、数组、随机数生成、素数判断等基础算法练习,适用于巩固Java语法与逻辑思维训练。

案例1

public static void max() {
    // 需求一: 让用户依次录入三个整数,求出三个数中的最大值,并打印到控制台。【使用if】
    System.out.println("-------练习一--------");
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入第一个整数:");
    int first = sc.nextInt();
    System.out.println("请输入第二个整数:");
    int second = sc.nextInt();
    System.out.println("请输入第三个整数:");
    int third = sc.nextInt();
    int max = first;
    if (max < second) {
        max = second;
        if (max < third) {
            max = third;
        }
    }
    System.out.println("三个数中最大的是:" + max);
}

案例2

public static void money() {
    // 需求二:
    //    1.根据程序员的工龄(整数)给程序员涨工资(整数),程序员的工龄和基本工资通过键盘录入
    //    2.涨工资的条件如下:
    //        [10-15)     +20000
    //        [5-10)      +10000
    //        [3~5)       +5000
    //        [1~3)       +3000
    //     3.运行程序:
    //         请输入作为程序员的你的工作的工龄:10
    //         请输入作为程序员的你的基本工资为:60000
    //         程序运行后打印格式
    //          "您目前工作了10年,基本工资为 60000元, 应涨工资 20000元,涨后工资 80000元"
    System.out.println("-------练习二--------");
    Scanner sc2 = new Scanner(System.in);
    System.out.println("请输入作为程序员的你的工作的工龄:");
    int age = sc2.nextInt();
    System.out.println("请输入作为程序员的你的基本工资为:");
    int salary = sc2.nextInt();
    if (age >= 10 && age < 15) {
        System.out.println("您目前工作了" + age + "年,基本工资为" + salary + "元,应涨工资20000元,涨后工资" + (salary + 20000) + "元");
    } else if (age >= 5 && age < 10) {
        System.out.println("您目前工作了" + age + "年,基本工资为" + salary + "元,应涨工资10000元,涨后工资" + (salary + 10000) + "元");
    } else if (age >= 3 && age < 5) {
        System.out.println("您目前工作了" + age + "年,基本工资为" + salary + "元,应涨工资5000元,涨后工资" + (salary + 5000) + "元");
    } else if (age >= 1 && age < 3) {
        System.out.println("您目前工作了" + age + "年,基本工资为" + salary + "元,应涨工资3000元,涨后工资" + (salary + 3000) + "元");
    } else {
        return;
    }
}

案例3

public static void sum() {
    // 需求三: 打印出1到100之间的既是3的倍数又是5倍数的数字以及这些数字的和
    System.out.println("-------练习三--------");
    int sum = 0;
    System.out.println("1到100以内的既是3的倍数又是5的倍数的数字有:");
    for (int i = 1; i <= 100; i++) {
        if (i % 3 == 0 && i % 5 == 0) {
            System.out.println(i);
            sum = sum + i;
        }
    }
    System.out.println("这些数字的和为:" + sum);
}

案例4

public static void threesum() {
    // 需求四:
    // 从键盘上录入一个大于100的三位数,打印出100到该数字之间满足如下要求的数字,数字的个数,以及数字的和:
    //      1.数字的个位数不为7;
    //      2.数字的十位数不为5;
    //      3.数字的百位数不为3;
    System.out.println("-------练习四--------");
    Scanner sc3 = new Scanner(System.in);
    System.out.println("请输入一个大于100的三位数:");
    int number = sc3.nextInt();
    int sum1 = 0;
    int count = 0;
    System.out.println("满足要求的数字有:");
    for (int i = 100; i <= number; i++) {
        if (number % 10 != 7) {
            if (number / 10 % 10 != 5) {
                if (number / 100 != 3) {
                    System.out.println(i);
                    sum1 = sum1 + i;
                    count++;
                }
            }
        }
    }
    System.out.println("总共有:" + count + "个数字");
    System.out.println("这些数字的和为:" + sum1);
}

案例5

public static void number() {
    // 需求五:
    //    1.打印所有四位数中 个位 + 千位 == 百位 + 十位 的数字
    //    2.最后要打印符合条件的数字的总数量
    //    3.打印格式如下:
    //        1010
    //        1021
    //        1032
    //        1043
    //        ....
    //        以上满足条件的四位数总共有 615 个
    System.out.println("-------练习五--------");
    int count1 = 0;
    for (int i = 1000; i <= 9999; i++) {
        if ((i % 10) + (i / 1000 % 10) == ((i / 10 % 10) + (i / 100 % 10))) {
            count1++;
        }
    }
    System.out.println("以上满足条件的四位数总共有:" + count1 + "个");
}

案例6

public static void calculator() {
    // ppt案例1: 简单计算器
    // 设计一个可以执行基本数学运算(加、减、乘、除)的计算器程序。
    //        用户输入两个数字、一个运算符(+、-、*、/)。
    //        根据所选运算符执行相应的数学运算,显示运算结果。
    System.out.println("-------练习六--------");
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入第一个数:");
    double number1 = scanner.nextDouble();
    System.out.println("请输入第二个数:");
    double number2 = scanner.nextDouble();
    if (number2 == 0) {
        System.out.println("请注意当前不允许使用除法!");
    }
    System.out.println("请输入运算符:");
    String signal = scanner.next();
    double result = 0;
    switch (signal) {
        case "+":
            result = number1 + number2;
            break;
        case "-":
            result = number1 - number2;
            break;
        case "*":
            result = number1 * number2;
            break;
        case "/":
            result = number1 / number2;
            break;
        default:
            System.out.println("请确认输入的运算符是否正确");
            break;
    }
    System.out.println("运算结果为:" + result);
}

案例7

public static void random1() {
    // ppt案例2:
    // 随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏。
    System.out.println("-------练习七--------");
    Random rd = new Random();
    int rdnumber = rd.nextInt(100) + 1;
    Scanner scanner1 = new Scanner(System.in);
    System.out.println("请输入您的猜测:");
    int rdnumber1 = scanner1.nextInt();
    //        while (rdnumber1 != rdnumber) {
    //            if (rdnumber1 > rdnumber) {
    //                System.out.println("猜错啦,当前数字大了哦");
    //            } else {
    //                System.out.println("猜错啦,当前数字小了哦");
    //            }
    //            System.out.println("请输入您的猜测:");
    //            rdnumber1 = scanner1.nextInt();
    //        }
    //        System.out.println("恭喜您猜对啦");
    while (true) {
        if (rdnumber1 > rdnumber) {
            System.out.println("猜错啦,当前数字大了哦");
        } else if (rdnumber1 < rdnumber) {
            System.out.println("猜错啦,当前数字小了哦");
        } else {
            System.out.println("恭喜您猜对啦");
            break;
        }
        System.out.println("请输入您的猜测:");
        rdnumber1 = scanner1.nextInt();
    }
}

案例8

public static void random2() {
    // ppt案例3:
    // 开发一个程序,可以生成指定位数的验证码,每位可以是数字、大小写字母。
    System.out.println("-------练习八--------");
    Scanner scanner2 = new Scanner(System.in);
    System.out.println("请决定需要生成多少位数的验证码:");
    // 键盘录入用户想要多少位的验证码
    int bit = scanner2.nextInt();
    Random random = new Random();

    // 创键一个数组来储存每次随机生成的值
    String[] arr = new String[bit];

    // 创建一个字符串类型变量接收最终结果
    String result = "";
    for (int i = 0; i < arr.length; i++) {
        // 随机生成0-2代表生成数字还是大小写字母
        int randomcount = random.nextInt(3);
        // 随机生成0-9的随机数
        int randomNumber = random.nextInt(10);
        // 随机生成大写字母
        char randomLetter = (char) (random.nextInt(26) + 'A');
        // 随机生成小写字母
        char randomLetter2 = (char) (random.nextInt(26) + 'a');
        switch (randomcount) {
            case 0:
                arr[i] = String.valueOf(randomNumber);
                break;
            case 1:
                arr[i] = String.valueOf(randomLetter);
                break;
            case 2:
                arr[i] = String.valueOf(randomLetter2);
                break;
            default:
                System.out.println("出错了");
                break;
        }
        result = result + arr[i];
    }
    System.out.println(result);
}

案例9

public static void primes(int a, int b) {
    // ppt案例4:
    // 判断101-200之间有多少个素数,并输出所有素数
    // 除了1和它本身以外,不能被其他正整数整除,就叫素数。
    System.out.println("-------练习九--------");
    int count = 0;
    System.out.println(a + "到" + b + "以内的素数有:");
    for (int i = a; i <= b; i++) {
        if (isPrimes(i)) {
            System.out.print(i + "\t");
            count++;
            if (count % 5 == 0) {
                System.out.println();
            }
        }
    }
    System.out.print("\n");
    if (count == 0) {
        System.out.println(a + "到" + b + "以内没有素数");
    } else {
        System.out.println("一共有" + count + "个");
    }
}

// 判断是否是素数
public static boolean isPrimes(int number) {
    if (number < 2) {
        return false;
    } else if (number == 2) {
        return true;
    } else if (number % 2 == 0) {
        return false;
    } else {
        for (int i = 3; i < number; i += 2) {
            if (number % i == 0) {
                return false;
            }
        }
    }
    return true;
}


相关文章
|
9天前
|
人工智能 运维 安全
|
7天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
683 23
|
8天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
14天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
1117 110
|
人工智能 数据可视化 数据挖掘
Quick BI 体验&征文有奖!
瓴羊生态推出Quick BI 征文激励计划,鼓励用户分享数据分析实践经验与技术洞察,征集高质量原创文章。内容围绕AI功能体验与BI案例实践,设季奖、年奖及参与奖,优秀作者可获现金奖励、产品内测资格及官方认证形象。投稿截止至2026年3月31日。
Quick BI 体验&征文有奖!