完成一个排序,求最大最小值,和查找数组元素的程序

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);
}
  }
  
  
}

猜你喜欢

转载自blog.csdn.net/qq_38671976/article/details/79640438