【问题标题】:Sort customer ID first alphabatically then numeric in java首先按字母顺序对客户 ID 进行排序,然后在 Java 中按数字排序
【发布时间】:2017-03-31 08:14:33
【问题描述】:

我对编程很陌生。我为大学的编程课程做的以下项目。我们编写了一个迷你银行程序,每个客户都应该得到一个像“KU345-32”这样的ID。我使用以下代码生成这些 ID:

int customerID = ThreadLocalRandom.current().nextInt(1, 100000);
        char firstChar = (char)ThreadLocalRandom.current().nextInt(65, 91); 
        char secondChar = (char)ThreadLocalRandom.current().nextInt(65, 91);

        custID= "" + firstChar + secondChar + (formatCID.format(customerID)).substring(0, 3) + "-" + (formatCID.format(customerID)).substring(3, 5);

此银行程序的一项任务是先按字母顺序对这些 ID 进行排序,然后按数字排序:

AT234-12

BA123-08

等等。 但这怎么可能?对我来说删除 - 到处都没有问题,但我不知道如何比较或使用哪个界面。写一个自己的可比对我来说可能太多了。我期待任何帮助:)

【问题讨论】:

  • 如果在 Java API 中使用 Collection,您需要实现自定义 Comparator,请参阅 stackoverflow.com/a/5805621/7001059
  • 避免在 Stack Overflow 上提问“我该怎么做?”相反,发布您已经尝试过的内容,以及为什么它不起作用。快速的 Google 搜索将为您提供大量有关您需要的信息。

标签: java sorting collections linked-list comparable


【解决方案1】:

如果我理解了您的帖子,您需要按字符对“ID”字符进行排序。

对于 String 字母排序,请看一下this topic

然后在您自己的比较器中组合数字排序。那里没有什么好玩的。祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2013-06-29
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2011-03-25
    相关资源
    最近更新 更多