Java基础-数组练习题

求最值

需求:已知数组元素{33,5,22,44,55},求出数组中的最大值并打印在控制台。

//1.定义数组用来存储5个值
int[] arr={33,5,22,44,55};
//2.定义一个变量max用来存储最大值
//临时认为0索引的数据是最大的		
int max = arr[0];
//3.循环获取数组中的每一个元素
//每一个元素跟max进行比较
for(int i = 0;i < arr.length;i++){
	if(arr[i] > max){
		max = arr[i];
	}
}
//4.当循环结束之后,max记录的就是数组中的最大值
System.out.println(max);

遍历数组求和

需求:生成10个1~100之间的随机数存入数组。

1)求出所有数据的和

2)求所有数据的平均数

3)统计有多少个数据比平均值小

1.定义数组,把随机数存入到数组当中

int[] arr = new int[10];
Random r = new Random();
for(int i = 0;i<arr.length;i++){
        //每循环一次,就会生成一个新的随机数
	int number = r.nextInt(100)+1;
	arr[i] = number;
}

2.求所有数据的和

int sum = 0;
	for(int i = 0;i<arr.length;i++){
		sum = sum + arr[i];
	}
	System.out.println("数组中所有数据的和为:"+sum);

3.求所有数据的平均数

int avg = sum / arr.length;
System.out.println("数组中的平均数:"+avg);

4.统计有多少个数据比平均值小

int count = 0;
for(int i = 0;i<arr.length;i++){
	if(arr[i]<avg){
		count++;
	}
}
System.out.println("在数组中一共有:"+count+"个数据,比平均数小");

交换数组中的数据

需求:定义一个数组,存入1,2,3,4,5。按要求交换索引对应的元素。

交换前:1,2,3,4,5

交换后:5,4,3,2,1

int[] arr = {1,2,3,4,5};	
for(int i = 0,j = arr.length-1;i < j;i++,j--){	
		int c = arr[i];
		arr[i] = arr[j];
		arr[j] = c;
}
for(int i = 0;i < arr.length;i++){
	System.out.print(arr[i]);
}

打乱数组中的数据

需求:定义一个数组,存入1~5。要求打乱数组中所有数据的顺序。

如何获取数组中的随机索引?

int[] arr={1,2,3,4,5};
Random r = new Random();
r.nextInt(5);
int randomIndex = r.nextInt(arr.length);
System.out.println(randomIndex);
//1.定义数组存储1~5
int[] arr={1,2,3,4,5};
Random r = new Random();
//2.循环遍历数组,从0索引开始打乱数据顺序
for(int i = 0;i < arr.length;i++){
//生成一个随机索引
	int randomIndex = r.nextInt(arr.length);
	int temp = arr[i];
	arr[i] = arr[randomIndex];
	arr[randomIndex] = temp;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值