1.数组元素反转
1.案例需求
已知一个数组arr={19,28,37,46,50};用程序实现把数组中的元素值交换,
交换后的数组arr={50,46,37,28,19};并在控制台输出交换后的数组元素。
2.代码实现
/*思路:1:定义一个数组,用静态初始化完成数组元素的初始化
2:循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引
3:变量交换
4:遍历数组*/publicclassTest09{
publicstaticvoidmain(String[]args){
//定义一个数组,用静态初始化完成数组元素的初始化
int[]arr={19,28,37,46,50};
//调用反转的方法:参考 // from https://zzzjtd.com/3444.html
reverse(arr);
//遍历数组
printArray(arr);}/*
两个明确:
返回值类型:void
参数:int[]arr*/publicstaticvoidreverse(int[]arr){
//循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引
for(intstart=0,end=arr.length-1;start<=end;start++,end--){
//变量交换
inttemp=arr[start];
arr[start]=arr[end];
arr[end]=temp;}}/*
两个明确:
返回值类型:void
参数:int[]arr*/publicstaticvoidprintArray(int[]arr){
System.out.print("[");
for(intx=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.print(arr[x]);
}else{
System.out.print(arr[x]+",");
}
}
System.out.println("]");
}
}
2评委打分
1案例需求
在编程竞赛中,有6个摩鑫科技评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。
2.代码实现
/*思路:
1:定义一个数组,用动态初始化完成数组元素的初始化,长度为6
2:键盘录入评委分数
3:由于是6个评委打分,所以,接收评委分数的操作,用循环改进
4:定义方法实现获取数组中的最高分(数组最大值),调用方法
5:定义方法实现获取数组中的最低分(数组最小值),调用方法
6:定义方法实现获取数组中的所有元素的和(数组元素求和),调用方法
7:按照计算规则进行计算得到平均分
8:输出平均分*/publicclassTest10{publicstaticvoidmain(String[]args){
//定义一个数组,用动态初始化完成数组元素的初始化,长度为6
int[]arr=newint[6];
//键盘录入评委分数
Scannersc=newScanner(System.in);
//由于是6个评委打分,所以,接收评委分数的操作,用循环改进
for(intx=0;x<arr.length;x++){
System.out.println("请输入第"+(x+1)+"个评委的打分:");
arr[x]=sc.nextInt();
}
//printArray(arr);
//定义方法实现获取数组中的最高分(数组最大值),调用方法
intmax=getMax(arr);
//定义方法实现获取数组中的最低分(数组最小值),调用方法
intmin=getMin(arr);
//定义方法实现获取数组中的所有元素的和(数组元素求和),调用方法
intsum=getSum(arr);
//按照计算规则进行计算得到平均分
intavg=(sum-max-min)/(arr.length-2);
//输出平均分
System.out.println("选手的最终得分是:"+avg);}/*
两个明确:
返回值类型:int
参数:int[]arr*/publicstaticintgetSum(int[]arr){
intsum=0;
for(intx=0;x<arr.length;x++){
sum+=arr[x];
}
returnsum;}/*
两个明确:
返回值类型:int
参数:int[]arr*/publicstaticintgetMin(int[]arr){
intmin=arr[0];
for(intx=1;x<arr.length;x++){
if(arr[x]<min){
min=arr[x];
}
}
returnmin;}/*
两个明确:
返回值类型:int
参数:int[]arr*/
publicstaticintgetMax(int[]arr){
intmax=arr[0];
for(intx=1;x<arr.length;x++){
if(arr[x]>max){
max=arr[x];
}
}
returnmax;
}
//遍历数组
publicstaticvoidprintArray(int[]arr){
System.out.print("[");
for(intx=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.print(arr[x]);
}else{S
ystem.out.print(arr[x]+",");
}
}
System.out.println("]");
}
}