有没有Java达人会的啊

Java使用输入流(InputStreamReader)的方式接收用户输入的整数保存在ArrayList集合中 ,直到用户
输入“end”停止输入,然后把集合中的整数排序后输出


public static void main(String[] args) throws IOException {
        InputStreamReader inputStreamReader = new InputStreamReader(System.in);
        List<Integer> list = new ArrayList<>();
        BufferedReader br = new BufferedReader(inputStreamReader);
        System.out.println("请输入数字或者end");
        String str = br.readLine();
        while (! "end".equals(str)){
            try {
                list.add(Integer.parseInt(str));
            } catch (Exception e){
                System.out.println("您输入的字符串有误,请正确输入!");
            }
            System.out.println("请输入数字或者end");
            str = br.readLine();
        }
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 - o2;
            }
        });
        for(Integer i : list){
            System.out.print(i + " ");
        }
    }


public static void main(String[] args) throws Exception{
        ArrayList<Integer> list = new ArrayList<Integer>();
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        System.out.println("请输入一个数字:");
        String str = br.readLine();
        while(!"end".equals(str)) {
            Integer num = Integer.parseInt(str);
            list.add(num);
            System.out.println("请输入一个数字:");
            str = br.readLine();
        }
        Collections.sort(list);
        System.out.println(list);
    }