完成一个排序,求最大最小值,和查找数组元素的程序
2018-03-21 15:10
876 查看
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");
<
9224
span style="white-space:pre;"> }
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);
}
}
}
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");
<
9224
span style="white-space:pre;"> }
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);
}
}
}
相关文章推荐
- 设计一个更优算法查找一n个元素数组中的最大值和最小值
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- 编写一个使用数组类模板Array对数组进行排序、求最大值和求元素和的程序,并采用相关数据进行测试。
- 定义一个一维数组,其元素个数从键盘中输入,元素的值为[100,200]的随机整数。 (1)输出数组的每个数 (2)对数组的数进行升序排序,输出排序后的数组元素 (3)从键盘上输入一个整数,查找该整数是
- 9.11排序与查找(三)——给定一个排序后的数组,包含n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
- 在一个数组中查找最大的K个元素或者最小的K个元素
- 设计一个最优算法来查找n个元素数组中的最大值和最小值
- 实验九指针1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 编写一个通用程序,将二维数组含有最大元素的列与第0列元素对调。例如,原数组和调换后的目标数组为
- 实验9 指针1 、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依
- 用sort()方法对数组的元素进行排序(可按字母升序降序与获得最大最小值)
- 编写一个C#程序,要求从键盘输入10个数存放在数组中,分别求出最大数和最小数存放在第一第二个元素里
- 定义一个数组工具类!数组选择排序、冒泡排序、获取最大、最小值!
- 题目:给一个排序好的整数数组A,请写一个函数,输入是数组A和一个整数x,返回数组A中值小于x的最大元素的索引值
- 实验9 指针1 1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
- 在排序的数组中二分查找一个元素,返回在数组中它第一次出现的位置
- 数组的遍历,获取最大值,数组的反转,数组中元素的查找、冒泡排序、选择排序、折半查找法
- 二维数组中的查找-在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 题目:返回一个整数数组中最大子数组的和。(要求程序必须能处理1000 个元素)