package com.itheima;
import java.util.Random;
public class arrayoftentrain {
public static void main(String[] args) {
//求最值
int[] arr1 = new int[]{33,5,22,44,55};
int max = arr1[0];
for (int i = 1; i < arr1.length; i++) {
if(max < arr1[i])
max = arr1[i];
}
System.out.println(max);
//需求:生成10个1~100之间的数存入数组'
//1.求和 2.求平均数 3.统计有多少个数据比均值小
//一步一步来
//先创建一个数组 , 再用循环存入十个1~100的数字
int[] arr2 = new int[10];
Random r = new Random();
int sum = 0;
int count = 0;
for (int t = 0; t < arr2.length; t++) {
int randnumber = r.nextInt(100) + 1;
arr2[t] = randnumber; //存入
//可以边存入边求和
sum = sum + arr2[t];
}
System.out.println("总和为:" + sum);
//求均值
double avg = sum*1.0 / arr2.length;
System.out.println("均值为:" + avg);
//求个数
for (int k = 0; k < arr2.length; k++) {
if(arr2[k] < avg){
count++;
}
}
System.out.println("个数为:" + count);
//交换数组中的数据
int temp;
int[] arr4 = new int[]{1,2,3,4,5};
for (int i = 0 , j = arr4.length-1; i<j ; i++,j--) {
temp = arr4[i];
arr4[i] = arr4[j];
arr4[j] = temp;
}
//遍历
for (int q = 0; q < arr4.length; q++) {
System.out.print(arr4[q] + " "); //println 和 print不同 println就相当于在print后面加了个隔行符("\n")
}
System.out.println("\n");
//打乱数组数据
//思路:就是给索引进行操作 随机给索引一个值 让索引加上这个值 然后这两个索引的值进行交换
int[] arrs1 = new int[]{1,2,3,4,5};
Random sr = new Random();
int n=arrs1.length-1,m = 0;
int swap;
while(n >= 0){
int randnumber = sr.nextInt(n+1);//随机索引已就绪
swap = arrs1[m];
arrs1[m] = arrs1[randnumber + m];
arrs1[ randnumber + m ] = swap;
n--;
m++;
}
for (int i = 0; i < arrs1.length; i++) {
System.out.print(arrs1[i] + " ");
}
//我写的这个是比较复杂一点的,就是当原索引+1的时候,我让随机索引取值的范围-1
//当然也有简单的 ↓↓↓↓↓↓
// int[] arrs1 = new int[]{1,2,3,4,5};
// Random sr = new Random();
//
// int n =arrs1.length,m = 0;
// int swap;
// for (int i = 0; i < arrs1.length; i++) {
// int randomnumber = sr.nextInt(5);
// swap = arrs1[i];
// arrs1[i] = arrs1[randomnumber];
// arrs1[randomnumber] = swap;
// }
// for (int i = 0; i < arrs1.length; i++) {
// System.out.print(arrs1[i] + " ");
// }
}
}
java数组算法进阶
不会,就是不会!2023-09-19 8:06
相关推荐
weixin_4467077424 分钟前
IDEA2024 maven构建跳过测试开朗觉觉30 分钟前
RabbitMQ高可用&&延迟消息&&惰性队列zmd-zk31 分钟前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)daily_233332 分钟前
数据结构——小小二叉树第三幕(链式结构的小拓展,二叉树的创建,深入理解二叉树的遍历)超详细!!!昵称202134 分钟前
flink1.16+连接Elasticsearch7官方例子报错解决方案爱编程的小生1 小时前
Easyexcel(6-单元格合并)浦东新村轱天乐1 小时前
神经网络反向传播算法公式推导小白不太白9501 小时前
设计模式之 迭代器模式闲人一枚(学习中)1 小时前
设计模式-创建型-单例模式SUN_Gyq1 小时前
什么是 C++ 中的模板特化和偏特化? 如何进行模板特化和偏特化?