当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2022-08-15
目录 案例4. 数组元素复制 需求: 把一个数组中的元素复制到另一个新数组中去。 分析: 需要动态初始化一个数组,长度与原数组一样。 遍历原数组的每个元素,依次赋值给新数组。

目录

案例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

案例6. 数字加密

需求:

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

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

分析

  • 将每位数据存入到数组中去,遍历数组每位数据按照规则进行更改,把更改后的数据从新存入到数组中。
  • 将数组的前后元素进行交换,数组中的最终元素就是加密后的结果。
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;

}

}

}
上一篇:[SpringBoot系列]SpringBoot如何整合SSMP
下一篇:没有了
网友评论