【问题标题】:Why wont it compile negative number in list为什么它不会在列表中编译负数
【发布时间】:2013-01-29 13:26:35
【问题描述】:

它不断给我一个非法字符的错误。重新排列 列表的元素按升序排列,并从列表中删除所有重复值

    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);
    }   
}

【问题讨论】:

  • 顺便说一句,如果您已经在使用 Set,那么不必担心重复值。

标签: java list set


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    在编写 Java 代码时不要使用,而是使用普通的-。差异是微妙的。您使用了endash 字符,它看起来几乎相同,但实际上是不同的。

    当文字处理器将- 自动替换为 时,通常会发生这种情况。

    【讨论】:

    • 本来想纠正你,称它为 em dash,但我发现 en dash 确实存在。我今天学到了一些新东西,谢谢!
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-11
      • 2018-04-08
      相关资源
      最近更新 更多