二维数组案例

二维数组案例

案例1:定义一个函数,获取某个数组中的最小值

java 复制代码
package com.qf.work;
public class Work {
	public static void main(String[] args) {
		int[] arr = {4,6,5,1,8,9,7,3};
		int min = getMin(arr);
		System.out.println("最小值为:" + min);
	}
	
	public static int getMin(int[] arr) {
		
		int min = arr[0];
		
		for (int i = 1; i < arr.length; i++) {
			int element = arr[i];
			if(min > element){
				min = element;
			}
		}
		return min;
	}
}

案例二:定义一个数组,数组成员10个,找出数组中最大数连同下标一起输出

java 复制代码
package com.qf.work;
public class Work {
	public static void main(String[] args) {
		int[] arr = {4,6,5,10,1,8,9,7,3,2};		
		int max = arr[0];
		int maxIndex = 0;
		for (int i = 1; i < arr.length; i++) {
			int element = arr[i];
			if(max < element){
				max = element;
				maxIndex = i;
			}
		}
		
		System.out.println("最大值为:" + max);
		System.out.println("最大值的下标为:" + maxIndex);
	}
}

案例三:B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?

java 复制代码
package com.qf.work;
import java.util.Arrays;
public class Work {
	public static void main(String[] args) {
		int[] arr = {4,6,5,10,1,8,9,7,3,2};
		Arrays.sort(arr);
		int sum = 0;
		for (int i = 1; i < arr.length-1; i++) {
			sum += arr[i];
		}	
		double avg = sum/8.0;
		System.out.println("平均分为:" + avg);
		
	}
}

案例四:定义数组,存放5个学生的成绩【成绩值自己设定】,将成绩从大到小排序,获得成绩之和,平均成绩,最小成绩,最大成绩。

java 复制代码
package com.qf.work;

public class Work {
	public static void main(String[] args) 
		int[] arr = {8,9,7,3,2};
		for (int i = 0; i < arr.length-1; i++) {
			for (int j = 0; j < arr.length-1-i; j++) {
				if(arr[j]<arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
		
		int max = arr[0];
		int min = arr[arr.length-1];
		
		int sum = 0;
		for (int element : arr) {
			sum += element;
		}
		
		double avg = sum/5.0;
		
		System.out.println("成绩之和:" + sum);
		System.out.println("平均分为:" + avg);
		System.out.println("最大值为:" + max);
		System.out.println("最小值为:" + min);
		
	}
}

案例五:提取一个方法,将指定数组中的数组元素进行反转 ,例如:{10,23,2,45,6}--->{6,45,2,23,10}

java 复制代码
//方法一
package com.qf.work;
import java.util.Arrays;
public class Work {
	public static void main(String[] args) {
		int[] arr = {10,23,2,45,6};		
		reverse(arr);		
		System.out.println(Arrays.toString(arr));
	}
	
	public static void reverse(int[] arr){		
		int start = 0;
		int end = arr.length-1;		
		while(start < end){
			int temp = arr[start];
			arr[start] = arr[end];
			arr[end] = temp;
			start++;
			end--;
		}
	}
}

//方法二
package com.qf.work;
import java.util.Arrays;
public class Work {
	public static void main(String[] args) {	
		int[] arr = {10,23,2,45,6};		
		int[] reverse = reverse(arr);
		System.out.println(Arrays.toString(reverse));
	}
	
	public static int[] reverse(int[] arr){		
		int[] newArr = new int[arr.length];		
		int index = newArr.length-1;
		for (int element : arr) {
			newArr[index--] = element;
		}
		
		return newArr;
	}
}

案例六:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

java 复制代码
package com.qf.work;
import java.util.Arrays;
public class Work {
	public static void main(String[] args) {	
		int[] arr = {3,5,65,1,32};		
		//找到最大值及下标
		int max = arr[0];
		int maxIndex = 0;
		for (int i = 1; i < arr.length; i++) {
			if(max < arr[i]){
				max = arr[i];
				maxIndex = i;
			}
		}
		//最大的与第一个元素交换
		arr[maxIndex] = arr[0];
		arr[0] = max;
		
		//找到最大值及下标
		int min = arr[0];
		int minIndex = 0;
		for (int i = 1; i < arr.length; i++) {
			if(min > arr[i]){
				min = arr[i];
				minIndex = i;
			}
		}
		//最小的与最后一个元素交换
		arr[minIndex] = arr[arr.length-1];
		arr[arr.length-1] = min;
		
		System.out.println(Arrays.toString(arr));
	}
}
相关推荐
老白干34 分钟前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
圆山猫7 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管8 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨8 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡8 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖8 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9859 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室11 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen11 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜12 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine