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
相关推荐