javaSE 数组复习

来源:互联网 发布:仿5173源码 php 编辑:程序博客网 时间:2024/06/03 03:26

数组复习

1,求最大值和最小值

求最大值max,max大于其他数值属于正常情况,所有求最大值时要判断max是否小于其他数组,小于了就得让位。

同样,最最小值min,min小于其他数值是正常情况,所以求最小值时要判读min是否大于其他数组,大于就得让位。

2,用Arrays.sort()方法给数组排序,首先需要先声明: import java.util.Arrays;排出的数升序排列。

3,降序排列,即倒叙遍历数组并

4,数组的复制

5,数组中查找数据,标记值

6,数组插入算法

7,冒泡排序

8,选择排序

9,二维数组


package studentGuanli;


import java.util.Arrays;
import java.util.Scanner;


public class Ch1 {


public static void main(String[] args) {

Scanner input=new Scanner(System.in);
//声明一个数组
int arr[] =new int [5];
//循环录入学生的成绩
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个学生的成绩:");
arr[i]=(int)(Math.random()*100);
}
//求最大值
int max=arr[0];
for (int i = 1; i < arr.length; i++) {
if (max<arr[i]) {
max=arr[i];
}
}
System.out.println("最大值:"+max);

//求最小值,min小于其他值是正常的,所以要判断min是否大于其他值,如果大于说明不是最小,就得让位
int min=arr[0];
for (int i = 1; i < arr.length; i++) {
if (min>arr[i]) {
min=arr[i];
}
}
System.out.println("最小值是"+min);

//升序打印学生的成绩
Arrays.sort(arr);//数组中的元素被升序排列
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("------------");
//降序打印学生成绩
for (int i = arr.length-1; i >=0 ; i--) {
System.out.println(arr[i]);
}

System.out.println("------------");
System.out.println("------------");
   //数组的5种算法

// 1,数组的复制
int [] arrA={1,2,3,4,5,6,7,8};
int [] arrB = new int[arrA.length];//需要先声明数组的长度
for (int i = 0; i < arrA.length; i++) {
arrB[i]=arrA[i];
}
for (int i = 0; i < arrB.length; i++) {
System.out.println(arrB[i]);
}
// 2,数组中的查找算法
System.out.println("请输入你要查找的学员名字:");
// String name=input.next();
String name="张三";

boolean flag=false;//标记值

String [] arr0={"张三","李四","王五","赵六"};
for (int i = 0; i < arr0.length; i++) {
if(name.equals(arr0[i])){
flag=true;
break;
}
}
if (flag) {
System.out.println("找到了");
}else
System.out.println("没有这个学员");
System.out.println("------------");
System.out.println("------------");

// 3,插入算法
int [] arr3={12,23,34,45,56,67,78};
System.out.println("请输入你要插入的数字: ");
// int num=input.nextInt();
int num=11;
arr3[arr3.length-1]=num;
for (int i = arr3.length-1; i >0; i--) {
if (arr3[i]<arr3[i-1]) {
int temp=arr3[i];
arr3[i]=arr3[i-1];
arr3[i-1]=temp;
}else{
break;
}
}
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]);

}


System.out.println("------------");
System.out.println("444444444444");

System.out.println("------------");


// 4,冒泡排序
    int[] arr4={23,12,45,56,78,98,11,98,56,34,2,4,6,56,321,336,32};
   int replace=0;
   int bijiao=0;
   
for (int j = 0; j < arr4.length-1; j++) {
for (int i = 0; i < arr4.length-1; i++) {
if (arr4[i]<arr4[i+1]) {
int t=arr4[i];
arr4[i]=arr4[i+1];
arr4[i+1]=t;
replace++;
}
}
bijiao++;
}
for (int i = 0; i < arr4.length; i++) {
System.out.println(arr4[i]);
}
System.out.println("交换了"+replace+"次");
System.out.println("比较了"+bijiao+"次");
//交换了73次
//比较了16次
System.out.println("------------");
System.out.println("555555555555");
System.out.println("------------");
// 5,选择排序
int replace2=0;
int bijiao2=0;

int[] arr5={23,12,45,56,78,98,11,98,56,34,2,4,6,56,321,336,32};
for (int i = 0; i < arr5.length-1; i++) {
for (int j = i+1; j < arr5.length; j++) {
if (arr5[i]>arr5[j]) {
int t=arr5[i];
arr5[i]=arr5[j];
arr5[j]=t;
replace2++;
}
}
bijiao2++;
}

for (int i = 0; i < arr5.length; i++) {
System.out.println(arr5[i]);
}
System.out.println("交换了"+replace2+"次");
System.out.println("比较了"+bijiao2+"次");
//交换了46
//比较了16次


// 二维数组


int [][] arr6=new int[3][];
arr6[0]=new int[3];
arr6[1]=new int[2];
arr6[2]=new int[4];

for (int i = 0; i < arr6[0].length; i++) {
arr6[0][i]=i+5;
}
for (int i = 0; i < arr6[0].length; i++) {
System.out.println(arr6[0][i]);
}

String [][] arr7=new String[3][2];
for (int i = 0; i < arr7.length; i++) {
for (int j = 0; j < arr7[i].length; j++) {
System.out.println("请输入第"+(i+1)+"组,第"+(j+1)+"个名字:");
String name2=input.next();
arr7[i][j]=name2;
}
}
for (int i = 0; i < arr7.length; i++) {

for (int j = 0; j < arr7[i].length; j++) {
System.out.print(arr7[i][j]+"\t\t");
}
System.out.println();
}

}
}
0 0