为什么不在列表中编译负数

时间:2013-01-29 13:26:35

标签: java list set

它继续给我一个非法字符的错误。重排 列表的元素按升序排序,以及从列表中删除所有重复的值

    import java.util.*;

public class Excerice_11point5{
    public static void main (String [] args){
        Set<Integer> tal = new TreeSet<Integer>();
        tal.add(7);
        tal.add(4);
        tal.add(–9);
        tal.add(4);
        tal.add(15);
        tal.add(8);
        tal.add(27);
        tal.add(7);
        tal.add(11);
        tal.add(–5);
        tal.add(32);
        tal.add(–9);
        tal.add(–9);

        sortAndRemoveDuplicates(tal);

    }
    public static void sortAndRemoveDuplicates(Set<Integer> tal){
        System.out.println(tal);
    }   
}

3 个答案:

答案 0 :(得分:4)

您确定否定符号( - ) 是一个简单的破折号吗?您是否从(比方说)Word文档或Excel电子表格中复制/粘贴了该文件,并复制了一个看起来像标准连字符的符号但不是?

您可以使用od检查文件中的内容,但最简单的方法是重新键入破折号。

答案 1 :(得分:3)

编写Java代码时,请勿使用,而应使用普通-。差异很微妙。您使用的endash字符看起来几乎相同,但确实不同。

当字处理器按-自动放置时,通常会发生这种情况。

答案 2 :(得分:0)

很简单。您不使用-操作,而是使用奇怪的符号代替它。