Array数组题目
1.求出下面的总和,平均值
public class Array01 {
public static void main(String[] args) {
/*
他们体重分别为3kg ,5kg,1kg ,3.4kg,2kg,50kg
请问这六只鸡的总体重是多少?平均体重是多少?
思路分析:
1.定义六个变量 double,求和得到总体重
2.平均体重 = 总体重/6
*/
double[] hens = {3,5,1,3.4,2,50,7,8};
//遍历数组得到数组里面的所有元素和,使用for
//下标是从 0 开始编号的 比如第一个就是hens[0]
//第二个元素就是hens[1],以此类推
//使用一个变量 totalWeight将各个元素累积
//System.out.println("数组长度= " + hens.length);
double totalWight = 0;
for (int i = 0; i < hens.length-1 ; i++) {
//System.out.println("第"+ (i+1) +"个元素的值=" + hens[i]);
totalWight += hens[i];
}
System.out.println("总体重为:" + totalWight + "平均体重为:" + totalWight / hens.length );
}
}
2.遍历打印五个用户输入的值
mport java.util.Scanner;
public class Array02 {
public static void main(String[] args) {
//演示 数据类型 数组名[] = new 数据类型[大小];
//循环输入五个数,保存到double数组,并输出
//步骤:
//1. 创建一个double 数组,大小 5
//double[] scores = new double[5];
//(2)第二章分配空间
double scores[]; //声明数组,这时 scores 是 null
scores = new double[5]; //分配内存空间,可以存放数据
//
//2.循环输入
//scores.length表示数组的大小/长度
Scanner myScanner = new Scanner(System.in);
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第" +(i+1) + "个元素的值" );
scores[i]= myScanner.nextDouble();
}
System.out.println("===当前数组元素/值得情况如下:===");
//输出,遍历数组
for(int i = 0; i < scores.length ; i++){
System.out.println("第" + (i+1) + "个元素的值=" + scores[i] );
}
}
}
3.遍历最大值
public class Array04 {
public static void main(String[] args) {
//请求出一个数组int[]的最大值{4,-1,9,10,23}
//思路分析
//1)定义一个int 数组 int[] arr = {4,-1,9,10,23};
//2)假定 max = arr[0]为最大值,maxIndex = 0;
//3)从下标 1 开始遍历arr,如果max < 当前数 说明max不是真正的
// 最大值,我们就 max=当前元素,maxIndex = 当前元素下标
//4)当我们遍历这个数组arr后,max就是真正的最大值,maxIndex最大值
//对应的下标
int[] arr = {4,-1,9,10,23};
int max = arr[0]; //假定一个元素是最大值
int maxIndex = 0;
for (int i = 1; i < arr.length ; i++){ //从下标1开始遍历这个数组
if(max < arr[i]){ //如果max < 当前这个数
max = arr[i]; //把max 设置成当前元素
maxIndex = i;
}
}
System.out.println("max=" + max + "maxIndex=" + maxIndex);
}
}
4.创建一个char类型的26个元素数组;分别存放’A’-‘Z’
public class CharArray04 {
public static void main(String[] args) {
//创建一个char类型的26个元素数组;分别存放'A'-'Z'
//使用for循环打印所有元素 ,提示char类型数据运算'A'+1 ->'B'
char[] chars = new char[26];
for (int i = 0; i < chars.length;i++){ //循环26次
//
chars[i] = (char) ('A'+ i); //c1 + i 是 int 类型,需要强制转换
}
//循环输出
System.out.println("====chars数组=====");
for (int i = 0; i < chars.length;i++){ //循环26次
//
chars[i] = (char) ('A'+ i); //c1 + i 是 int 类型,需要强制转换
System.out.print(chars[i] + " ");
}
}
}
5.数组注意事项
public class Array03 {
public static void main(String[] args) {
//1.数组是多个相同类型数据的组合,实现对这些数据的统一管理
int[] arr1 = {1,2,3,60,20}; //静态
double[] arr2 = {1.2,2.3,3,60,20};
//2.数组中的元素可以使任何数据类型,包括基本类型和引用类型,但是不能混用
String[] arr3 = {"北京","jack","闽南"};
System.out.println(arr3[0]);
//3.
short[] arr4 = new short[5]; //动态 /默认是null
for (int i = 0; i < arr4.length;i++){
System.out.println(arr4[i]);
//4.
}
}
}