需求
给定一个任意数组,设计出一个功能查询,查询这组数组中某个元素的索引,也要自动获取数组中的最大值
并提示。
分析
1)对于这个给定的数组,需要输出在控制台上,那么需要创建一个类bianLi,这个类就是按顺序输出给定的数组功能;
2)为了实现获取最大值,需要通过一个工具功能,就是如何获取最大值,提供两种方法冒泡或者选择排序法,当然还有其他的功能,在这里只展示冒泡,那么定义一个maoPao类;
3)还需要定义功能类cha,在这里面要实现查询这个数组的某一个数的索引值,所以要有一个查索引值的getInder
方法,为了实现获取数组中最大值所以也要实现一个getInder
方法的重载;
4)最后定义一个测试类Test,将上述功能实现。
遍历的类
public class bianLI {
public static void printArray(int[] arr) {
System.out.print("[");
for(int x=0 ; x<arr.length ; x++) {
if(x == arr.length-1 ) {
System.out.println( arr[x] + "]" );
}else {
System.out.print( arr[x] + ", " );
}
}
}
}
冒泡的类
public class maoPao {
public static void maoArray(int[] arr) {
for(int x = 0; x < arr.length-1 ;x++) {
for(int y = 0; y < arr.length-1-x ;y++) {
if( arr[y]> arr[y+1] ) {
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
}
功能的类
public class cha {
//查询索引值
public static int getInder( int[] arr, int value) {
for(int x= 0 ; x<arr.length ; x++) {
if( arr[x] == value ) {
return x;
}
}
return -1; //如果没有输入的数字控制台输出:-1
}
//获取最大值
public static int getInder( int[] arr ) {
maoPao.maoArray(arr);
int x = arr.length-1;
return x;
}
}
测试的类
package com_qianfeng_04;
import java.util.Scanner;
//已知数组{20,12,8,87,24} ,请设计一个功能查询出 12 这个元素在该数组中出现的索引,请设计一功能获取数组中的最大值
public class Test {
public static void main(String[] args) {
int[] arrl = {20,12,8,87,24};
System.out.println("********************");
System.out.println("这是一组数组");
bianLI.printArray(arrl);
System.out.println("********************");
System.out.println( );
System.out.println("请输入您要查询的对应数字索引值");
Scanner sj = new Scanner(System.in);
int i = sj.nextInt();
System.out.println("-------------");
int shuZi = cha.getInder(arrl, i);
System.out.println("您查询对应数字的索引值是:"+ shuZi);
System.out.println( );
System.out.println("-------------");
int x = cha.getInder(arrl);
System.out.println("该数组中最大数字是:"+ arrl[x] );
}
}
运行结果
输入的数字在数组内的结果展示
输入的数字不在数组内的结果展示