根据提供的文件信息,我们可以归纳出以下几个与Java编程相关的知识点: ### 1. 查找数组中的最大值及其索引 在给定的代码片段中,`arrMaxDex()` 方法用于找出一个整型数组中的最大值及其对应的索引位置。具体步骤如下: 1. **初始化变量**:设置最大值为数组的第一个元素,并将最大值的索引设为0。 2. **遍历数组**:通过循环遍历数组的所有元素。 3. **比较并更新最大值及索引**:如果当前元素大于已知的最大值,则更新最大值及对应索引。 4. **输出结果**:最后输出最大值及其索引。 示例代码: ```java public static void arrMaxDex() { int[] arr = {1, 3, 10, 4, 5, 7, 3, 9}; if (arr.length > 0) { int max = arr[0]; int dex = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] >= max) { max = arr[i]; dex = i; } } System.out.print("最大值为" + max + ",索引为" + dex); } } ``` ### 2. 计算去掉最高分和最低分后的平均分 此方法用于计算去掉一组分数中的最高分和最低分后剩余分数的平均值。具体步骤如下: 1. **初始化变量**:设置最高分、最低分以及总分、平均分等变量。 2. **遍历数组**:遍历数组,累加总分,并更新最高分和最低分。 3. **计算平均分**:去除最高分和最低分后,计算剩余分数的平均分。 4. **输出结果**:输出最高分、最低分以及平均分。 示例代码: ```java public static void sum() { int[] score = {78, 90, 67, 64, 89, 98, 68, 97, 90, 97, 65}; int min = score[0], max = score[0]; int sum = 0; float ave = 0; int count1 = 1, count2 = 1; int n; for (int i = 0; i < score.length; i++) { sum += score[i]; if (score[i] > max) { max = score[i]; count1 = i; } if (score[i] < min) { min = score[i]; count2 = i; } } n = score.length - 2; ave = (sum - max - min) / n; System.out.println("共有" + (n + 2) + "个分数,最高分为" + max); System.out.println("共有" + (n + 2) + "个分数,最低分为" + min); System.out.println("去掉第" + (count1 + 1) + "和第" + (count2 + 1) + "个分数后的平均分为" + ave); } ``` ### 3. 查找数组中第二大的元素 这个方法旨在找出数组中的第二大元素。其思路是先对数组进行排序,然后返回排序后的第二个元素。但给出的代码片段不完整,仅展示了部分排序过程。完整的实现应该包括排序算法和获取第二大元素的过程。 ### 4. 数组翻转 这段代码演示了如何翻转一个整型数组。通过遍历数组的一半长度,并交换首尾两端的元素来实现翻转。 示例代码: ```java public static void reverse(int[] arr) { for (int i = 0; i < arr.length / 2; i++) { int temp = arr[i]; arr[i] = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = temp; } } ``` ### 5. 冒泡排序和选择排序 这部分提供了冒泡排序和选择排序两种经典的排序算法。冒泡排序通过重复遍历数组,每次比较相邻两个元素并交换顺序来实现排序;而选择排序则是通过每次找到未排序部分的最小(或最大)元素,并将其放到已排序部分的末尾来完成排序。 示例代码(冒泡排序): ```java public static void bubbleSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { for (int j = 0; j < array.length - 1 - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j]; array[j] = array[j + 1]; array[j + 1] = temp; } } } } ``` 示例代码(选择排序): ```java public static void selectSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { int min = i; for (int j = i + 1; j < array.length; j++) { if (array[j] < array[min]) { min = j; } } if (min != i) { int temp = array[i]; array[i] = array[min]; array[min] = temp; } } } ``` 以上就是从给定文件中提取的关键知识点。这些知识点覆盖了数组的基本操作,如查找最大值、计算平均分、数组翻转以及常用的排序算法。希望对你有所帮助。
public static void arrMaxDex()
{
int aar[] = {1, 3, 10, 4, 5, 7, 3, 9};
if (aar.length > 0) {
int max = aar[0];
int dex = 0;
for (int i = 0; i < aar.length; i++) {
if (aar[i] >= max) {
max = aar[i];
dex = i;
}
}
System.out.print("aar数组中最大的数为: " + max + " 下标是: " + dex);
}
}
aar数组中最大的数为: 10 下标是: 2
2. 小明参加歌手比赛,评委组给出10个成绩,去掉一个最高分,去掉一个最低分,求平均分
public static void sum()
{
int score[]={78,90,67,64,89,98,68,97,90,97,65};
int min=score[0],max=score[0];
int sum=0;
float ave=0;
int count1=1,count2=1;
int n;
for(int i=0;i<score.length;i++)
{
sum=sum+score[i];
if(score[i]>max) {
count1 = i;
}
if(score[i]<min) {
min = score[i];
count2 = i;
}
}
n=score.length-2;
ave=(sum-max-min)/n;
System.out.println(n+2+"个人的最高成绩是:"+max+"分");
System.out.println(n+2+"个人的最低成绩是:"+min+"分");
System.out.println("去掉"+"第"+count1+"个和"+"第"+count2+"个的平均分是"+ave);
}
11个人的最高成绩是:98分
11个人的最低成绩是:64分
去掉第5个和第3个的平均分是82.0
3. 找出一个数组中第二大的数字,注意:数组中可能有相同的元素
public static void main(String[] args) {
// 定义数组
int[] arrayInt = { 7, 2, 6, 5, 3, 4 };
// 排序
for (int i = 0; i < arrayInt.length - 1; i++) {
for (int j = 0; j < arrayInt.length - i - 1; j++) {
剩余10页未读,继续阅读
- 粉丝: 17
- 资源: 44
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助