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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 专家 初级黑马   /  2015-11-29 14:18  /  2787 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

10黑马币
package 面试题;

import java.util.ArrayList;
import java.util.Scanner;

public class Test4 {
    /*
     * 6、键盘录入5个数据,存储到一个数组中,取最大值和最小值。
     */

    public static void main(String[] args) {
        Integer[] arr = getArray();
        sort(arr);
        System.out.println("min:" + arr[0]);
        System.out.println("max:" + arr[arr.length - 1]);
    }

    public static void sort(Integer[] arr) {
        //冒泡
        /*for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j, j + 1);
                }

            }
        }*/

        //快速
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr>arr[j]) {
                    swap(arr, i, j);
                }
            }
        }
    }

    private static void swap(Integer[] arr, int i, int j) {
        Integer temp = arr;
        arr = arr[j];
        arr[j] = temp;
    }

    public static Integer[] getArray() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入5个数据:");
        ArrayList<Integer> list = new ArrayList<>();
        while (true) {
            String s = sc.nextLine();
            list.add(new Integer(s));
            if (list.size() == 5) {
                break;
            }
        }

        return list.toArray(new Integer[list.size()]);  //这一句话我看不懂
    }

}

最佳答案

查看完整内容

如果不加括号里这一句就好类型转换异常; 好好看看api; 还有集合转数组这节课

4 个回复

正序浏览
键盘录入:Scanner
比较用for循环嵌套if语句
回复 使用道具 举报
1.getArray()方法用来把键盘录入的整数字符串放入list集合中,方法的返回值为Integer[]数组,用List的toArray方法返回包含此集合中所有元素的数组
回复 使用道具 举报
括号里面指定了数组能容纳的列表,添加数据进列表后返回该列表
回复 使用道具 举报
如果不加括号里这一句就好类型转换异常;
好好看看api;
还有集合转数组这节课
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马