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;
}


相关文章
|
11天前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
39 5
|
11天前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
58 1
|
12天前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
92 5
|
12天前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
113 3
|
12天前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
39 1
|
12天前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
71 1
|
17天前
|
Java
Java基础学习day05-作业
本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。
48 2
|
17天前
|
安全 Java 编译器
Java基础学习day06
本节学习Java继承与多态核心概念:继承通过extends实现,子类可复用父类非私有成员,支持单继承与多层继承,遵循就近原则并可用super调用父类成员;方法重写需满足权限与返回值约束,常用于重写toString等。多态基于继承,实现父类引用指向子类对象,提升扩展性但无法直接访问子类独有方法,可通过instanceof安全类型转换。
83 2
|
存储 安全 Java
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
24、使用 Java 官方教程学习:① 类变量和类方法详解;② 深入介绍 main() 方法
161 1
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法
【JAVA学习之路 | 进阶篇】Map接口及其实现类及常用方法