package Test;
import java.util.Random;
public class shuzu {
public static void main(String[] args) {
/*定义一个数组,存储1,2,3,4,5,6,7,8,9,10
* 遍历数组得到每一个元素
* 要求:
* 如果是奇数,则将当前数字扩大两倍
* 如果是偶数,则将当前数字变成二分之一*/
int[] arr=new int[]{1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < arr.length; i++) {
if (arr[i]%2==0){
arr[i]=arr[i]/2;
}else {
arr[i]=arr[i]*2;
}
System.out.print("第"+i+"个索引的结果="+arr[i]+"\t");
}
System.out.println();//换行
/*
需求:生成10个1~`100的随机数存入数组
1)求出所有数据的和
2)求所有数据的平均数
3)统计有多少个数据比平均值小
*/
int[] num=new int[10];
for (int i = 0; i < num.length; i++) {
int number=(int)(Math.random()*100+1);
num[i]=number;
}
//1)求和
int sum=0;
for (int i = 0; i < num.length; i++) {
sum+=num[i];
}
System.out.println("和="+sum);
//2)求平均数
int avg=sum/num.length;
System.out.println("平均数="+avg);
//3)有多少个数比平均数小
int count=0;
for (int i = 0; i < num.length; i++) {
if (num[i]<avg){
count++;
}
}
System.out.println("有"+count+"个数比平均数"+avg+"小");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+" ");
}
System.out.println();//换行
/*
需求:定义一个数组,存入1,2,3,4,5,交换首尾索引对应的元素
交换前:12345
交换后:(1)52341(2)14325
*/
//(1)
int[] ch=new int[]{1,2,3,4,5};
for (int i = 0; i < ch.length; i++) {
int temp=ch[0];//创建临时第三变量
ch[0]=ch[4];
ch[4]=temp;
}
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i]+" ");
}
System.out.println();//换行
//(2)
for (int i=0,j=ch.length-1;i<j;i++,j--){//i:第几个索引。j:最大索引
int temp01=ch[i];//用第三变量交换,第一次交换最小和最大数值,接下来第二和倒数第二交换对应的数值。
ch[i]=ch[j];
ch[j]=temp01;
}
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i]+" ");
}
System.out.println();//换行
/*
需求:定义一个数组,存入1~5,要求打乱数组中所有数据的顺序
*/
int[] luan={1,2,3,4,5,6,7,8,9,10};
Random rand=new Random();//---------------生成随机数
for (int i = 0; i < luan.length; i++) {
int numbe= rand.nextInt(luan.length);//定义一个变量用来存储随机数,随机数范围最大为数组长度
int temp02=luan[i];
luan[i]=luan[numbe];//将随机到的索引对应的值赋给正对应的数组索引对应的值
numbe=temp02;//实现两者交换
}
for (int i = 0; i < luan.length; i++) {
System.out.print(luan[i]+" ");
}
}
}
几个简单的数组小练习(适合初学)
普通的冒险者2025-05-15 20:10
相关推荐
皮皮林5517 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!冰_河7 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!桦说编程10 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想躺平大鹅12 小时前
Java面向对象入门(类与对象,新手秒懂)初次攀爬者13 小时前
RocketMQ在Spring Boot上的基础使用花花无缺13 小时前
搞懂@Autowired 与@ResuorceDerek_Smart14 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件NE_STOP15 小时前
MyBatis-mybatis入门与增删改查孟陬19 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不