【JAVA基础】专题课(综合案例下)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: ​案例4.数组元素复制​案例5.评委打分案例案例6.数字加密

案例4.数组元素复制


需求:


把一个数组中的元素复制到另一个新数组中去。


分析:


需要动态初始化一个数组,长度与原数组一样。 遍历原数组的每个元素,依次赋值给新数组。 输出两个数组的内容。

import java.util.Random;
/**
 * 需求:
 * 把一个数组中的元素复制到另一个新数组中去。
 */
public class base {
    public static void main(String[] args) {
        int arr[]={1,2,3,4,5};
        int arr2[]=new int[arr.length];
        copy(arr,arr2);
        printf(arr2);
        System.out.println();
        printf(arr);
    }
    private static void printf(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(i== arr.length-1?arr[i]:arr[i]+",");
        }
        System.out.print("]");
    }
    private static void copy(int[] arr,int[] arr2) {
        for (int i = 0; i < arr.length; i++) {
            arr2[i]=arr[i];
        }
    }
}

案例5.评委打分案例


需求 :


在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。


分析:


① 把6个评委的分数录入到程序中去 ----> 使用数组


② 遍历数组中每个数据,进行累加求和,并找出最高分、最低分。


③ 按照分数的计算规则算出平均分。

import java.util.Random;
import java.util.Scanner;
/**
 * 需求 :
 * 在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。
 * 选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。
 * 分析:
 * ① 把6个评委的分数录入到程序中去 ----> 使用数组
 * ② 遍历数组中每个数据,进行累加求和,并找出最高分、最低分。
 * ③ 按照分数的计算规则算出平均分。
 */
public class base {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int arr[]=new int[6];
        System.out.println("请输入评委打的分数");
        for (int i = 0; i < arr.length; i++) {
            arr[i]=scanner.nextInt();
        }
        System.out.println("平均分:"+(sum(arr) - Min(arr) - Max(arr))*1.0/4);
    }
    private static int Max(int[] arr) {
        int max=arr[0];
        for (int i = 1; i < arr.length ; i++) {
            if (arr[i]>max){
                max=arr[i];
            }
        }
        return max;
    }
    private static int Min(int[] arr) {
        int min=arr[0];
        for (int i = 1; i < arr.length ; i++) {
            if (arr[i]<min){
                min=arr[i];
            }
        }
        return min;
    }
    private static int sum(int[] arr) {
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        return sum;
    }
}

案例6.数字加密


需求:


某系统的数字密码,比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5 , 再对10求余,最后将所有数字反转,得到一串新数。


分析


将每位数据存入到数组中去,遍历数组每位数据按照规则进行更改,把更改后的数据从新存入到数组中。


将数组的前后元素进行交换,数组中的最终元素就是加密后的结果。

import java.util.Arrays;
import java.util.Scanner;
/**
 * 需求:
 * 某系统的数字密码,比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5 , 再对10求余,最后将所有数字反转,得到一串新数。
 */
public class base {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入密码的位数");
        int i = scanner.nextInt();
        int arr[]=new int[i];
        for (int j = 0; j < arr.length; j++) {
            System.out.println("请输入第"+(j+1)+"个数字");
            arr[j]=scanner.nextInt();
        }
        //输出数组元素
        System.out.println("未加密前:"+Arrays.toString(arr));//API 后期会讲
        encryption(arr);
        System.out.println("加密后:"+Arrays.toString(arr));
    }
    private static void encryption(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i]+=5;
            arr[i]%=10;
        }
        int temp=0;
        int end= arr.length-1;
        for (int i = 0; i < (arr.length/2); i++,end--) {
            temp=arr[i];
           arr[i] =arr[end];
           arr[end]=temp;
        }
    }
}


相关文章
|
7天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
33 3
|
27天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
61 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
8天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
22 2
|
10天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
9 2
|
15天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
12 1
|
27天前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
38 15
|
27天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
32 5
|
1月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
40 2
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
29天前
|
Java C#
Java的监听处理事件--小球移动案例
Java的监听处理事件--小球移动案例
12 0