import java.util.Scanner; import java.util.Random; public class DarrQiuzhi{ /* 案例要求: 1.键盘输入数组长度,创建一个数组对象,随机赋值,随即范围从键盘输入 2.显示一个界面,做以下操作 1.查找元素 2.求最小值 3.求最大值 4.对数组进行排序 */ public static void main(String[]args){ Scanner sc=new Scanner(System.in);//这一行很重要 int length=0; int range=0; int choice; do{ System.out.println("输入数组长度:"); length=sc.nextInt(); }while(length<0); do{ System.out.println("输入随机数范围:"); range=sc.nextInt(); }while(range<1); int arr[]=new int[length]; //赋值 genArr(arr,range); //打印 showArr(arr); while(true){ System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); System.out.println("1.查找元素"); System.out.println("2.求最小值"); System.out.println("3.求最大值"); System.out.println("4.对数组进行排序"); System.out.println("5.退出系统"); System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); System.out.println("请输入你的选择:"); choice=sc.nextInt(); switch(choice){ case 1: System.out.println("****查找元素****"); find(arr); System.out.println("****************\n"); break; case 2: System.out.println("****最小值*****"); findMin(arr); break; case 3: System.out.println("****最大值****"); findMax(arr); break; case 4: System.out.println("*****排序******"); sort(arr); break; case 0: System.out.println("退出系统"); break; default: System.out.println("参数错误!"); break; } } } //查找元素 public static void find(int arr[]){ Scanner sc=new Scanner(System.in); if(null==arr){ System.out.println("Error!"); return ; } int i=0,a=0; /*if(index>range||index<0){ System.out.println("查无此号!"); }*/ System.out.println("请输入你想查找的数字:"); int index=sc.nextInt(); for(i=0;i<arr.length;i++){ if(arr[i]==index){ System.out.println("你想查找的数字"+arr[i]+"索引号为:"+(i+1)); a++; } } if(a==0){ System.out.println("查无此号!"); } } //求最小值 public static void findMin(int arr[]){ if(null==arr){ System.out.println("Error!"); return ; } int temp=0; int i=0; for(i=0;i<arr.length-1;i++){ if(arr[i]<=arr[i+1]){ temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } System.out.println(arr[i]); } //求最大值 public static void findMax(int arr[]){ if(null==arr){ System.out.println("Error!"); return ; } int temp=0; int i=0; for(i=0;i<arr.length-1;i++){ if(arr[i]>=arr[i+1]){ temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; } } System.out.println(arr[i]); } //排序 public static void sort(int arr[]){ if(null==arr){ System.out.println("Error!"); return ; } int i=0; int j=0; int temp=0; System.out.println("从大到小排序为:"); for(i=0;i<arr.length;i++){ for(j=i+1;j<arr.length;j++){ if(arr[i]<arr[j]){ temp=arr[j]; arr[j]=arr[i]; arr[i]=temp; } } System.out.print(arr[i]+"\t"); } System.out.println(""); } //打印数组 public static void showArr(int arr[]){//记得后面showArr后()里面要加方法的 if(null==arr){ return; } for(int i=0;i<arr.length;i++){ System.out.print((i+1)+"号是"+arr[i]+"\t"); } System.out.println(""); } //赋值: public static void genArr(int arr[],int range ){//记得后面showArr后()里面要加方法的 if(null==arr){ return; } Random rd=new Random();//记得等号后面Random加() for(int i=0;i<arr.length;i++){ arr[i] = rd.nextInt(range); } } }