爪哇烹饪单元

2022-09-02 01:47:05

是否有任何开源库用于表示Java中的Teaspoon和tablepoon等烹饪单元?

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


答案 1

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

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


答案 2

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

另一方面,创建一个符合 JSR 275 的类似乎并不难。(这就是我要做的)CookingUnits


推荐