案例01:数组的复制
- 把一个数组中的元素复制到另一个新数组中
public class Demo01 {
public static void main(String[] args) {
int[] arr1 = {11,22,33,44};
//int[] arr2 = arr1;这种形式不是复制数组,只是把arr1中的地址赋给了arr2
int[] arr2 = new int[arr1.length];
copy(arr1,arr2);
printArrays(arr1);
printArrays(arr2);
}
//1.进行元素的复制
public static void copy(int[] arr1,int[] arr2){
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
}
//2.打印复制后的数组
public static void printArrays(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.println("]");
}
}
案例02:评委打分
- 在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。选手的最后得分为:去掉最高分,最低分后4个评委的平均分,请完成上述过程并计算选手的得分。
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//1.录入6位评委打的分数
int[] scores = new int[6];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < scores.length; i++) {
System.out.print("请您输入第" + i+1 + "个评委的得分:");
int score = sc.nextInt();
scores[i] = score;
}
//2.找到分数中的最大,最小值,并且把它们去掉,统计分数
int max = scores[0];
int min = scores[0];
int sum = 0;//统计6位评委打的分数,所以下面i从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];
}
//3.统计平局分
double result = (sum - max - min)*1.0/(scores.length - 2);
System.out.println("选手的得分是:" + result);
}
}
案例03:数字加密
- 某系统的数字密码:比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。(这里也可以是一个解密的过程,把加密后的数据,再进行加密就得到加密前的数据。)
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
System.out.print("请输入您要加密的数字个数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
//1.将加密数字录入到数组中
for (int i = 0; i < arr.length; i++) {
System.out.print("请输入加密数字的第" + (i+1) + "个数字:");
int number = sc.nextInt();
arr[i] = number;
}
//2.查看数组内容
System.out.print("加密前的数据为:");
printArray(arr);
//3.对数字进行加密
for (int i = 0; i < arr.length; i++) {
arr[i] = (arr[i] + 5)%10;
}
//对数字反转
for (int i = 0,j = arr.length-1; i < j; i++,j--) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
System.out.print("加密后的数据为:");
printArray(arr);
}
public static void printArray(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.println("]");
}
}