黑马程序员技术交流社区

标题: 关于集合的问题 [打印本页]

作者: dadsf456    时间: 2016-4-4 17:45
标题: 关于集合的问题
package com.heima;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

public class demo_18 {

        /**
         *  程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整数倒序排列打印.
         *  
         *  
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                Scanner sc = new Scanner(System .in);
                TreeSet<Integer> t = new TreeSet<>(new Comparator<Integer>() {

                        @Override
                        public int compare(Integer o1, Integer o2) {
                                int num=o2-o1;
                                return  num==0?1:num;       为什么把,1改成-1  还是不能倒序?  求大神解答
                        }
                       
                });
                System.out.println("请输入");
                //String s = sc.nextLine();
                while (true) {
                        String s = sc.nextLine();               
                        //TreeSet t = new TreeSet<>();
                        if ("quit".equals(s)) {                    为什么不能用"quit"==(s)?    求解答
                                break;
                        }else {
                                Integer a=Integer.parseInt(s);
                                t.add(a);
                        }
                }
                for (Integer integer : t) {
                       
                        System.out.println(integer);
                }
        }

}
作者: 菊花爆满山    时间: 2016-4-4 21:48
为什么不能用"quit"==(s)?    若这样的话 那么只要第一个字母相同就认为是true
为什么把,1改成-1  还是不能倒序?  直接在TreeSet的构造函数中加入Collections.reverseOrder()




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