A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

// 数组基础练习总结
import java.util.Scanner;
class  Test_ShuZu {
        public static void main(String[] args) {
            int[] arr1={8,9,3,4,5,6};
                //getBianLi(arr1);                            //遍历数组
                //getFanZhuan_2(arr1);                   //反转数组
                //getBianLi(arr1);
                       
                //paiXu(arr1);                        //数组排序
                //getBianLi(arr1);

                //int zuizhi=getZuiZhi(arr1,true);                    //最值  true 最大 false 最小
                //System.out.println("最值是:"+zuizhi);

                Scanner s=new Scanner(System.in);
                //System.out.println("输出数组角标:");                        //输入数组角标返回角标里的值
                //int a=s.nextInt();
                //int shuzhi=getIndexShuZhi(arr1,a);
                //System.out.println("arr["+a+"]"+"数组角标里的值是:"+shuzhi);

                System.out.println("输入数组数值显示数组角标");
                int b=s.nextInt();
                String c=getIndex(arr1,b);
                System.out.println(c);               
        }

        public static void paiXu(int arr[]) {             //声明一个选择排序方法。
                for(int x=0;x<arr.length-1;x++) {
                        for(int y=x+1;y<arr.length;y++) {
                                if(arr[x]<arr[y]) {   //换位

                                        swap(arr,x,y);
                                }
                        }
                }
        }

        public static void getFanZhuan_1(int arr[]) {           //声明数组反转的第一个方法。
                for(int a=0,b=arr.length-1;a<=b;a++,b--) {
                        /*
                        int temp=arr[a];
                                arr[a]=arr[b];
                                arr[b]=temp;
                                */
                        swap(arr,a,b);
                }
        }

        public static void getFanZhuan_2(int arr[]) {                                         //声明数组反转的第二个方法。
           for (int i=0; i<arr.length/2; i++) {
                   int temp=arr[i];
                           arr[i]=arr[arr.length-1-i];
                           arr[arr.length-1-i]=temp;
           }
        }
       
        private static void swap(int[] arr ,int a, int b) {
                int temp=arr[a];
                        arr[a]=arr[b];
                        arr[b]=temp;
        }

        public static int getZuiZhi(int arr[],boolean b) {          //声明一个数组的最值。true为返回最大值,flase为最小值。
                int a=arr[0];
                for (int x=1; x<arr.length; x++) {
                        if(b) {
                                if(a<arr[x])  //求最大值。
                                        a=arr[x];
                        }
                        else {
                                if(a>arr[x])  //求最小值
                                        a=arr[x];               
                        }
                }
                return a;
        }

        public static int getIndexShuZhi(int[] arr,int index) {                        //声明一个输入数组角标返回数组里角标的值。
                //return arr[index];   //这种方法最简单。
                int x=0;
                for (int i=0 ;i<arr.length ;i++ ) {       
                        if(index==i) {
                                x=arr[i];
                        }
                }
                return x;               
        }

        public static String getIndex(int[] arr,int shuzhi) {              //声明一个输入数组里的数值返回数组角标。
           String x="";
           for (int i=0;i<arr.length ;i++ ) {
                   if(shuzhi==arr[i]) {
                       x="这个数值的角标为"+i;
                           break;
                           }
                   else {
                       x="这个数值不在此角标中";
                           }
           }
           return x;
        }

        public static void getBianLi(int[] arr) {                     //声明一个数组的遍历
                System.out.print("[");
                for(int x=0 ; x<arr.length ; x++) {
                        if(x!=arr.length-1) {
                                System.out.print(arr[x]+",");
                        } else {
                                System.out.println(arr[x]+"]");
                        }                       
                }
        }
}

11 个回复

正序浏览
厉害啊大神啊   我才学到第三天
回复 使用道具 举报
牛逼  大神啊   我才学到第三天
回复 使用道具 举报
数组中其实还有冒泡 选择排序没讲
回复 使用道具 举报
后面的很难!前几天挺简单的
回复 使用道具 举报
不错呦!
回复 使用道具 举报
小鹿 中级黑马 2015-11-2 21:46:30
7#
基础!基础!加油!
回复 使用道具 举报
我刚学完数组、集合,也该总结了
回复 使用道具 举报
我还是疏忽自己总结了。
回复 使用道具 举报
我还是疏忽自己总结了。
回复 使用道具 举报
顶一个!!!
回复 使用道具 举报
挺全面的,多谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马