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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.Scanner;
class ArrayTools
{
        //pubcli
}

class KeyboardInput
{
        //ArrayTools.arrayPrint(arr);
        public static void main(String[] args)
        {       
               
                Scanner sc = new Scanner(System.in);//封装
                System.out.println("欢迎使用,首先您需要设定一个数组");
                int arr[];
                arr =inputElement();//设定数组
                System.out.println("您输入的数组是");               
                arraySort(arr);                //排序数组
                arrayPrint(arr);    //打印数组
                while(true){
                System.out.println("----------------------菜单---------------------");
                System.out.println("1.删除数组元素        ̄▽ ̄       2.添加数组元素");
                System.out.println("3.更改数组元素                   4.查找数组元素");
                System.out.println("5.打印数组元素                   6.  敬请期待  ");
                System.out.println("请输入功能菜单键");
               
                int x=sc.nextInt();
                        switch(x){
                        case 1:
                                System.out.println("首先帮您查找该数是否存在:");
                            boolean b = elementSearch(arr);        //查找数组
                                if(b)
                                        delete(arr);
                                        arrayPrint(arr);
                                break;
                        case 2:
                                arrayPrint(arr = elementAdd(arr));
                                break;
                        case 3:
                                boolean f =elementChange(arr); //经典的判断语句。
                                break;
                        case 4:
                                elementSearch(arr);        //查找数组
                                break;
                        case 5:
                                arrayPrint(arr);    //打印数组
                                break;
                       
                        default:
                                System.out.println("输入错误!!");
                                break;
                                       
                       
                        }
                }
        }
                /*
                arrayPrint(arr);    //打印数组
                arraySort(arr);                //排序数组
                arrayPrint(arr);       
                elementSearch(arr);        //查找数组
                delete(arr);                //删除元素
                arrayPrint(arr);*/

       
                //输入数组
        public static int[] inputElement(){
                Scanner sc = new Scanner(System.in);//封装
                System.out.println("请输入数组的长度:");
                int looplength = sc.nextInt();
                int []arr = new int[looplength];
                int element =0;
                for(int x =0;x<looplength;x++){
                        System.out.println("请输入第"+(x+1)+"个元素:");
                        element=sc.nextInt();//element元素
                        arr[x] = element;
                }
                return arr;
        }       
                //数组打印
        public static void arrayPrint(int []arr){
                for(int x=0;x<arr.length;x++){
                        if(arr[x]==-9000)
                                return;
                        System.out.print(arr[x]+" ");
                }
                System.out.println( );
        }
                //数组排序
        public static void arraySort(int []arr){
                for(int y=0;y<arr.length-1;y++){
                        for(int x=0;x<arr.length-y-1;x++)
                                if(arr[x]<arr[x+1]){
                                        arr[x]=arr[x]^arr[x+1];
                                        arr[x+1]=arr[x]^arr[x+1];
                                        arr[x]=arr[x]^arr[x+1];
                        }
                }
        }
                //查找元素
        public static boolean elementSearch(int []arr){
                System.out.println("请输入你要查找的数字:");
                Scanner sc = new Scanner(System.in);//封装
                int number = sc.nextInt();
                for(int x =0;x<arr.length;x++){
                        if(arr[x]==number)
                        {
                                System.out.println("已找到您要查询的数,它的下标是:"+x);
                                return true;
                        }
                }
                System.out.println("错误!未找到您要找的数字。");
                return false;
               
        }
                //删除元素
        public static void delete(int []arr){
                System.out.println("请再次输入:");
                Scanner sc = new Scanner(System.in);//封装
                int number = sc.nextInt();
                for(int x =0;x<arr.length;x++){
                        if(arr[x]==number){
                                for(int y=x;y<arr.length-1;y++){
                                        arr[y]=arr[y+1];
                                }
                                arr[arr.length-1]=-9000;      ----------------------------------看这里是不是智商捉急?给我一个思路,如何解决这个BUG?
                        }
                }

        }

                //添加元素
        public static int[] elementAdd(int[]arr){
                Scanner sc = new Scanner(System.in);//封装
                int[]arr_1 = new int[arr.length+1];
                System.out.println("请输入你要添加的元素:");
                 arr_1[arr.length]=sc.nextInt();
               
                for(int x=0;x<arr.length;x++){
                         arr_1[x]=arr[x];

                }
                return arr_1;
        }
        public static boolean elementChange(int []arr){
                System.out.println("请输入你要更改的数字:");
                Scanner sc = new Scanner(System.in);//封装
                int number = sc.nextInt();
                for(int x =0;x<arr.length;x++){
                        if(arr[x]==number){
                                System.out.println("您要变更为____?");
                                arr[x]=sc.nextInt();
                                System.out.println("更改成功");
                                return true;
                        }               
                }
                System.out.println("未找到该元素");
                                return false;
        }
}


评分

参与人数 2技术分 +1 黑马币 +5 收起 理由
D.man + 5 支持顶一个,楼主加油。
lwj123 + 1

查看全部评分

8 个回复

倒序浏览
加油顶起!!!!
回复 使用道具 举报
顶一个,楼主加油。。。。
回复 使用道具 举报
好神奇的东东啊
回复 使用道具 举报
请仔细阅读代码,言语不详之处,请看代码领会。

QQ图片20150430002855.png (7.51 KB, 下载次数: 1)

请仔细看看代码

请仔细看看代码
回复 使用道具 举报
顶一个。。。哈哈
回复 使用道具 举报
额~表示 支持楼主~~
回复 使用道具 举报
海带 中级黑马 2015-4-30 22:16:03
8#
我来拿币的
回复 使用道具 举报
咋没有大神来解决一下问题呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马