获取数组元素数量
package array2;
public class code06 {
/*
数组的遍历: 通过循环获取数组中的所以元素(数据)
动态获取数组元素个数 : 数组名.length
*/
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
//数组名.length
System.out.println("arr数组中元素的个数为:"+arr.length);
//for(int i = 0; i < 5; i++){手动写死了,不严谨,不推荐
for (int i = 0; i < arr.length; i++){
//i : 0 1 2 3 4 5
System.out.println(arr[1]);
}
}
}
获取数组最大值
package array2;
public class code07 {
/*
需求:从数组中查看最大值
int[] arr = {12,45,98,73,60};
实现步骤:
1.假设数组中的第一个元素为最大值
2.遍历数组,获取每一个元素,准备进行比较
3.如果比较的过程中,出现比max更大的,让max记录更大的值
4.循环结束后,打印最大值。
*/
public static void main(String[] args) {
int[] arr = {12,45,98,73,60};
//1.假设数组中的一个元素为最大值
int max = arr[0];
//2.遍历数组,获取每一个元素,准备进行比较
for (int i = 1; i < arr.length; i++){
//3.如果比较的过程中,出现了比max更大的值
if (arr[i] > max){
max = arr[i];
}
}
//4.循环结束后,打印最大值
System.out.println("max:"+max);
}
}
数组元素求和
需求:键盘录入5个整数,存储到数组中,并对数组求和
思路:
- 创建键盘录入对象,准备键盘录入
- 定义一个求和变量,准备记录累计加后的结果
- 动态初始化一个长度为5的int数组,准备存储键盘录入的数值
- 将键盘录入的数值存储到数组中
- 遍历数组,取出每一个元素,并求和
- 输出总和
package array2;
import java.util.Scanner;
public class code08 {
/*
需求 : 键盘录入5个整数,存储到数组中,并对数组求和
思路:
1.创建键盘录入对象,准备键盘录入
2.定义一个求和变量,准备记录累加后的结果
3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值
4.将键盘录入的数值存储到数组中
5.遍历数组,取出每一个元素,并求和
6.输出总和
*/
public static void main(String[] args) {
//1.创建键盘录入对象,准备键盘录入
Scanner sc = new Scanner(System.in);
//2.定义一个求和变量,准备记录累加后的结果
int sum = 0;
//3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值
int[] arr = new int[5];
//4.将键盘录入的数值存储到数组中
for (int i = 0; i < arr.length; i++){
System.out.println("请输入第"+(i+1)+"个整数");
//arr[i]=10
arr[i] = sc.nextInt();
}
//5.遍历数组,取出每一个元素,并求和
for (int i = 0; i < arr.length; i++){
sum += arr[i];
}
//6.输出总和
System.out.println("sum:"+sum);
}
}
数组基本查找
思路:
- 定义一个数组,用静态初始化完成数组元素的初始化
- 键盘录入要查找的数据,用一个变量接收
- 定义一个索引变量,初始值为-1
- 遍历数组,获取到数组中的每一个元素
- 拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
package scanner;
import java.util.Scanner;
/*
需求:
已知一个数组 arr = {19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引,并在
控制台输出找到的索引值
思路:
1.定义一个数组,用静态初始化完成数组元素的初始化
2.键盘录入要查找的数据,用一个变量接收
3.定义一个索引变量,初始值为-1
4.遍历数组,获取到数组中的每一个元素
5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
6.输出索引变量
*/
public class code09 {
public static void main(String[] args) {
//1.定义一个数组,用静态初始化完成数组元素的初始化
int[] arr = {19,28,37,46,50};
//2.键盘录入要查找的数据,用一个变量接收
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查找的元素:");
int num = sc.nextInt();
//3.定义一个索引变量,初始值为-1
//假设要查找的数据,在数组中就是不存在的
int index = -1;
//4.遍历数组,获取到数组中的每一个元素
for (int i = 0; i < arr.length; i++) {
// 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环
if (num == arr[i]){
index = i;
break;
}
}
//6.输出索引变量
System.out.println(index);
}
}
案例评委打分
package array2;
import java.util.Scanner;
public class code09 {
/*
需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值(不考虑小数成分)
思路:
1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
2.键盘录入评委分数
3.由于是6个评委打分,所以,接收评委分数的操作,用循环
4.求出数组最大值
5.求出数组最小值
6.求出数组总和
7.按照计算规则进行计算得到平均分
8.输出平均分
*/
public static void main(String[] args) {
//1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6
int[] arr = new int[6];
//2.键盘录入评委分数
Scanner sc = new Scanner(System.in);
//3.由于是6个评委打分,所以,接收评委分数的操作,用循环
for (int i = 0; i < arr.length; i++){
System.out.println("请输入第"+ (i+1) + "个评委的打分");
int score = sc.nextInt();
if (score >= 0 && score <= 100){
//合法的分值
arr[i] = score;
}else {
//非法的分值
System.out.println("您的打分输入有误,请检查是否是0-100之间的");
i--;
}
}
/* for (int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
*/
//4.求出最大值
int max = arr[0];
for (int i = 1; i < arr.length; i++){
if (max < arr[i]){
max = arr[i];
}
}
//5.求出数据最小值
int min = arr[0];
for (int i = 1; i < arr.length; i++){
if (min < arr[i]){
min = arr[i];
}
}
//求出数组总和
int sum = 0;
for (int i = 0; i < args.length; i++){
sum += arr[i];
}
//7.按照计算规则进行计算得到平均分
int avg = (sum - max - min) / 4;
//8.输出平均分
System.out.println(avg);
}
}