Java中的烹饪单位

时间:2009-06-19 17:10:07

标签: java units-of-measurement

是否有任何开源库可用于代表烹饪单位,例如Java中的Teaspoon和tablepoon?

我只找到了JSR-275(https://jcp.org/en/jsr/detail?id=275),这很棒,但不了解烹饪单位。

4 个答案:

答案 0 :(得分:13)

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

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

答案 1 :(得分:1)

我猜您可以解析维基页面以进行烹饪测量:Cooking Weights and Measures

它在表格中组织了所有措施,因此解析它们应该很容易。

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

我担心,我们无法帮助你使用JSR-275,因为它被拒绝,但JSR-363刚刚在9月份进入决赛,所以如果你对像“烹饪单位”这样的单位系统有个好主意的话,请在UoM-Systems下告诉我们。