黑马程序员技术交流社区

标题: 这个代码最好一句什么意思 [打印本页]

作者: 专家    时间: 2015-11-29 14:18
标题: 这个代码最好一句什么意思
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()]);  //这一句话我看不懂
    }

}

作者: 向上自由心    时间: 2015-11-29 14:18
如果不加括号里这一句就好类型转换异常;
好好看看api;
还有集合转数组这节课
作者: 萧未然    时间: 2015-11-30 13:28
括号里面指定了数组能容纳的列表,添加数据进列表后返回该列表
作者: 奔跑的小红帽    时间: 2015-11-30 23:56
1.getArray()方法用来把键盘录入的整数字符串放入list集合中,方法的返回值为Integer[]数组,用List的toArray方法返回包含此集合中所有元素的数组
作者: hyl    时间: 2015-12-6 23:25
键盘录入:Scanner
比较用for循环嵌套if语句




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2