22

是否有任何开源库用于表示 Java 中的茶匙和汤匙等烹饪单位?

我只发现了 JSR-275 ( https://jcp.org/en/jsr/detail?id=275 ),它很棒,但不了解烹饪单元。

4

4 回答 4

14

JScience 是可扩展的,因此您应该能够创建 javax.measure.unit.SystemOfUnits 的子类。您将创建许多公共静态最终声明,如下所示:

public final class Cooking extends SystemOfUnits {
  private static HashSet<Unit<?>> UNITS = new HashSet<Unit<?>>();

  private Cooking() {
  }

  public static Cooking getInstance() {
    return INSTANCE;
  }
  private static final Cooking INSTANCE = new SI();

  public static final BaseUnit<CookingVolume> TABLESPOON = si(new BaseUnit<CookingVolume>("Tbsp"));

  ...

   public static final Unit<CookingVolume> GRAM = TABLESPOON.divide(1000);

}

public interface CookingVolume extends Quantity {
  public final static Unit<CookingVolume> UNIT = Cooking.TABLESPOON;
}

只要您知道转换因子是什么,定义其他单位和转换非常简单。

于 2009-06-19T17:54:00.877 回答
2

这可能有一些用处:JUnitConv。这是一个用于转换单位(包括烹饪单位)的 Java 小程序,但它是 GPL 许可的,因此您可以下载源代码并调整相关部分以供您自己使用。

另一方面,看起来创建一个CookingUnits符合 JSR 275 的类应该不难。(这就是我要做的)

于 2009-06-19T17:54:28.397 回答
2

恐怕,JSR-275 已被拒绝,我们无法为您提供帮助,但JSR-363在 9 月才进入决赛,所以如果您对“烹饪单位”等单位系统有很好的想法,请告诉我们在UoM-Systems下知道。

于 2016-10-11T15:54:36.377 回答
1

我想您可以解析 wiki 页面以进行烹饪测量:烹饪重量和测量

它以表格形式组织了所有度量,因此解析它们应该很容易。

于 2009-06-19T17:21:40.060 回答