【问题标题】:Sorting of weights(gm, milligrm, litre, mili litre.)重量分类(克、毫克、升、毫升)
【发布时间】:2012-09-25 05:54:01
【问题描述】:

在“尺寸”列中,我的重量为 100mL、0.5mg、1L、2500cm2。我需要根据毫升、毫克、克、升、厘米等对其进行分类。请给我解决方案,我尝试过字符串比较,但它不值得,因为我们必须考虑重量。

 public static int safeCompareIgnoreCase(String name1, String name2) {
      if (name1 == name2) { 
        return 0; 
      } 
      if (name2 == null) { 
        return -1; 
      } 
      if (name1 == null) { 
        return 1; 
      } 
      return name1.compareToIgnoreCase(name2); 
    }

    public int compare(InventorySearchResultRecord r1, InventorySearchResultRecord r2) { 
      int result = safeCompareIgnoreCase(r1.getSize(), r2.getSize()); 
      if (result != 0) { 
        return result; 
      } 
    }

【问题讨论】:

  • 显示你试过的代码。
  • 你是按重量还是按字母排序?
  • 与其直接寻求解决方案(这对您没有帮助),不如在此处发布您的代码。与获得解决方案相比,您将改进自己的代码并学到更多。
  • 毫升和升是体积单位,毫克是质量单位,平方厘米是面积单位。比较不同单位的数量似乎毫无意义。如果要对数字进行排序,请去掉单位。
  • 列听起来像SQL,至少给我们一个代码示例,其中包含您需要的基本结构。 + 按什么排序?只是将不同的单位分组?没有办法用 mg 对 cm^2 进行排序

标签: java compare sorting


【解决方案1】:

提示:- 你不应该比较不同单位的两个值。想想你自己 -> 你将如何判断1 Dollar 是更大还是50 Rupees?您需要将它们转换为相同的单位..

首先尝试在纸上完成。在没有计算机的情况下完成你的工作。如果你得到了答案,请将其转换为代码。这对你来说会更容易。

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 2022-11-10
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    相关资源
    最近更新 更多