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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雨山 中级黑马   /  2015-10-23 12:15  /  515 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
要求:1,键盘输入一个数组长度及其中元素
2,键入数字对数组进行相应操作
3,键入886返回结束

思路:1,导入包
2,建立新的键盘录入对象
3,创建新的数组接收键入整数
4,创建新方法对数组进行操作
*/
import java.util.Scanner;
class Beer {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入数组长度:");
                int length = sc.nextInt();
                int[] arr = new int[length];

                for (int x = 0;x < arr.length ;x ++ ) {                //输入数组,数组的遍历
                        System.out.println("请输入第" + (x + 1) + "个元素");
                        arr[x] = sc.nextInt();
                }

                String[] st = {"请选择您需要的操作:",
                                           "-----------------------------",
                                   "1,反转",
                                           "2,查找",
                                           "3,最值",
                                           "4,排序",
                                           "-----------------------------"
                };

                printArray(arr);
                printArray(st);
                q:while(true){
                        int temp = sc.nextInt();
                        switch (temp) {
                                case 1:
                                        reversalArray(arr);
                                        printArray(arr);
                                break;
                                case 2:
                                        System.out.println("请输入要查找的值:");
                                        int key = sc.nextInt();
                                        int mark = search(arr,key);
                                        System.out.println(mark);
                                break;
                                case 3:
                                        int max = getMax(arr);
                                        System.out.println(max);
                                break;
                                case 4:
                                        sortArray(arr);
                                        printArray(arr);
                                break;
                                case 886:
                                break q;
                                default:
                                        System.out.println("对不起,没有这项功能");
                                break;
                        }
                }
        }



        public static void printArray(int[] arr) {                //打印数组,数组的遍历
                System.out.print("您输入的数组:{");
                for (int x = 0;x < arr.length ;x ++ ) {
                        System.out.print(arr[x] + " ");
                }
                System.out.println("}");
        }
       
        public static void printArray(String[] arr) {        //打印数组,数组的遍历,方法重载
                for (int x = 0;x < arr.length ;x ++ ) {
                        System.out.println(arr[x]);
                }
        }

        public static void reversalArray(int[] arr) {        //反转数组
                for (int x = 0;x < arr.length /2 ;x ++ ) {
                        int temp = arr[x];
                        arr[x] = arr[arr.length - x - 1];
                        arr[arr.length - x - 1] = temp;
                }
        }

        public static int getMax(int[] arr) {                        //获取数组最大值
                int max = arr[0];
                for (int x = 1;x < arr.length ;x ++ ) {
                        if (max < arr[x]) {
                                max = arr[x];
                        }
                }
                return max;
        }

        public static int search(int[] arr,int key) {        //查找
                for (int x = 0;x < arr.length ;x ++ ) {
                        if (key == arr[x]) {
                                return x;
                        }
                }
                return -1;
        }

        public static void sortArray(int[] arr) {                //排序
                for (int x = 0;x < arr.length - 1 ;x ++ ) {
                        for (int y = 0;y < arr.length - x - 1 ;y ++ ) {
                                if (arr[x] > arr[x + 1]) {
                                        int temp = arr[x];
                                        arr[x] = arr[x + 1];
                                        arr[x + 1] = temp;
                                }
                        }
                }
        }
}


搜狗截图15年10月23日1211_1.png (40.08 KB, 下载次数: 18)

结果

结果

2 个回复

倒序浏览
建议对输入的数进行合法性判断
回复 使用道具 举报
jlq 中级黑马 2015-10-23 15:30:18
藤椅
6666666666666666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马