java第六周学习总结
第一天:
求数组中元素的平均值
public static double avg(int[] array) {
int sum = 0;
for (int i = 0;i < array.length;i++) {
sum = sum+array[i];
}
return sum*1.0 / array.length;
} return(double)sum / (double)arr.length
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6};
System.out.println(avg(array));
}
数组顺序查找:
public static int search(int[] array,int key) {
for (int i = 0; i < array.length; i++) {
if (array[i] == key) {
return i;
}
}
return -1; //返回值 因为数组下标没有负数
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
int index = search(array,4);
if (index == -1) {
System.out.println("没有你要找的关键字!");
}else {
System.out.println("找到了你要的关键字,下标是:"+index);
}
}
第二天:
二分查找:
public static int binarySearch(int[] array, int key) {
int left = 0;
int rigth = array.length - 1;
while (left <= rigth) {
int mid = (left + rigth) / 2;
if (array[mid] < key) {
left = mid + 1; //从右侧区间继续找
}else if (array[mid] == key) {
return mid; //找到了
}else {
rigth = mid - 1; //从左侧区间继续找
}
}
return-1; //返回值 因为数组下标没有负数
}
public static void main(String[] args) {
int[] array = {12,24,3,8,6};
int index = binarySearch(array,8); //输入数组中你想要找的数
if (index == -1) {
System.out.println("没有你要找的关键字!");
}else {
System.out.println("找到了你要的关键字,下标是:"+index);
}
}
第三天:
冒泡排序:
public static void main(String[] args) {
int[] array = {12, 24, 3, 8, 6};
for (int i = 0; i < array.length - 1; i++) {
boolean flg = false; //布尔型(boolean)它的取值只能是常量true或者false
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flg = true; //打个比方 2 1 3 4 5 最开始flg=false 2大于1进行了一次交换之后
} //flg=true 之后2不大于3 不再进行交换
}
if (flg == false){
break;
}
}
System.out.println("从小到大排序后的结果是: "+Arrays.toString(array));
第四天:
数组的逆序:
public static void reverse(int[] array) {
int left = 0;
int right = array.length-1;
int tmp = 0;
while (left < right) {
tmp = array[left];
array[left] = array[right];
array[right] = tmp;
left++;
right--;
}
}
public static void main(String[] args) {
int[] array1 = {12,24,3,8,6};
System.out.println("逆置之前的数组:"+ Arrays.toString(array1));
reverse(array1);
System.out.println("逆置之后的数组:"+ Arrays.toString(array1));
}
第五天:
打印随机数:
package com.yau;
import java.util.ArrayList;
import java.util.Random;
public class Practice01 {
public static void main(String[] args) {
Random r = new Random();//创建一个随机数对象
int [] arr = new int [10];//创建一个长度为10的数组
ArrayList list = new ArrayList();//创建一个List集合
for(int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(100);//把获取到的1-100以内的随机数放到数组里 面
if(arr[i] > 10) {
list.add(arr[i]);//把大于十的数添加到集合里
}
}
System.out.println(list);//读取集合中的数
}
}

浙公网安备 33010602011771号