算法的考查:求数值型数组中元素的最大值、最小值、平均值、总和,随机数

package atwanyi.java;
/*
 *算法的考查:求数值型数组中元素的最大值、最小值、平均值、总和等
 *
 *定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,
 *然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。
*要求:所有的随机数都是两位数。
 * 
 * [10,99]
 * 公式:(int)(Math.random() * (99-10+1)+10)
 * 
 */

public class ArrayTest1 {
	public static void main(String[] args) {
	int[] arr = new int[10];
	
	for(int i = 0;i < arr.length;i++) {
		arr[i] = (int)(Math.random() * (99-10+1)+10);
	}
	
	//遍历
	for(int i = 0;i < arr.length;i++) {
		System.out.println(arr[i] + "\t");
	}
	System.out.println();
	//求数组元素的最大值
	int maxValue = arr[0];
	for(int i = 1;i < arr.length;i++) {
		if(maxValue < arr[i]) {
			maxValue = arr[i];
		}
	}
	System.out.println("最大值为:" + maxValue);
	//求数组元素的最小值
	int minValue = arr[0];
	for(int i = 1;i < arr.length;i++) {
		if(minValue > arr[i]) {
			minValue = arr[i];
		}
	}
	System.out.println("最小值为:" + minValue);
	//求数组元素的总和
	int sum = 0;
	for(int i = 0;i < arr.length;i++) {
	sum += arr[i];
}
	System.out.println("总和为:" + sum);
	//求数组元素的平均数
	int avgValue = sum / arr.length;
	System.out.println("平均数为:" + avgValue);
}
}

在这里插入图片描述

package atwanyi.exer;

public class ArrayExer2 {
public static void main(String[] args) {//alt + /
	System.out.println();
	int[] array1,array2;
	
	array1 = new int[] {2,3,5,7,11,13,17,19};
	
	//显示array1的内容
	for(int i = 0;i < array1.length;i++) {
		System.out.println(array1[i] + "\t");
	}
	//赋值array2变量等于array1
	//不能称作数组的赋值。
	array2 = array1;
	
	//修改array2中的偶引索元素,使其等于引索值(如array[0]=0,array[2]=2)
	for(int i = 0;i < array2.length;i++) {
		if(i % 2 == 0) {
			array2[i] = i;
		}
	}
	System.out.println();
	//打印出array1
	for(int i = 0;i < array1.length;i++) {
		System.out.println(array1[i] + "\t");
	}
}
}
//数组的复制:(应该改为)
array2 = new int[array1.length];
for(int i = 0;i < array2.length;i++){
array2[i] = array1[i];

}

package atwanyi.java;
/*
 * 算法的考查:数组的复制、反转、查找(线性查找、二分法查找)
* 
 * 
 * 
 */
public class ArrayTest2 {
public static void main(String[] args) {

	String[] arr = new String[] {"JJ","DD","MM","BB","GG","AA"};
	
	//数组的复制(区别于数组变量的赋值,arr1 = arr)
	String[] arr1 = new String[arr.length];
	for(int i = 0;i < arr1.length;i++) {
		arr1[i] = arr[i];
	}
	//数组的反转
	//方法一:
//		for(int i = 0;i < arr1.length / 2;i++) {
//			String temp = arr[i];
//			arr[i] = arr[arr.length- i -1];
//			arr[arr.length - i-1] = temp;
//		}
	//方法二:
//		for(int i = 0,j = arr.length-1;i < j;i++,j--) {
//			String temp = arr[i];
//			arr[i] = arr[j];
//			arr[j] = temp;
//		}
	//遍历
	for(int i = 0;i < arr.length;i++) {
		System.out.println(arr[i] + "\t");
	}
	//查找(或搜索)
	//线性查找:
	String dest = "BB";
	dest = "CC";
	boolean isFlag = true;
	for(int i = 0;i < arr.length;i++) {
		
		if(dest.equals(arr[i])) {
			System.out.println("找到了指定的元素,位置为:" + i);
			isFlag = false;
			break;
		}
	}
	if(isFlag) {
		System.out.println("很遗憾,没有找到哦!");
	}
	//二分法查找:
	//前提:所要查找的数组必须要有序
	int[] arr2 = new int[] {-98,-34,2,34,54,66,79,105,210,333};
	
	int dest1 = -34;
	int head = 0;//初始的首索引
	int end = arr2.length - 1;//初始的末索引
	boolean isFlag1 = true;
	while(head <= end) {
		int middle = (head + end)/2;
		if(dest1 == arr2[middle]) {
			System.out.println("找到了指定的元素,位置为:" +middle);
			isFlag1 = false;
			break;
		}else if(arr2[middle] > dest1) {
			end = middle - 1;
		}else {//arr2[middle] < dest1
			head = middle + 1;
			}
		}
	if(isFlag1) {
		System.out.println("很遗憾,没有找到的啦!");
	}
}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
冒泡排序法

package atwanyi.java;

public class MaoPaoTest {
public static void main(String[] args) {
	int[] arr = new int[] {-34,5,22,4,6,-8,0,3};
	for(int i = 0;i < arr.length-1;i++) 
		for(int j = 0;j < arr.length - 1 -i;j++) {
			if(arr[j]>arr[j+1]) {
				int temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	
	for(int i : arr) {
		System.out.print(i+"\t");
	}
	
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值