2009-06-19 40 views
20

是否有任何开源代码库用于表示烹饪单元,例如Java中的Teaspoon和汤匙?Java烹饪单元

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

+2

我喜欢这个......当之无愧的自己的标签 – skaffman 2009-06-19 17:11:50

+3

那么“掐”,如“一撮盐”呢? – 2009-06-19 17:12:17

+2

“smidgen”中有多少“捏”? – Zach 2009-06-19 17:12:57

回答

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

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

在另一方面,它看起来像它不应该是努力创造一个CookingUnits类符合JSR 275(这就是我会做)

1

我很害怕,我们不禁你被JSR-275拒绝了,但是JSR-363刚刚在9月份进入了Final,所以如果你有一个像“烹饪单位”这样的单位系统的好主意,请在UoM-Systems之前通知我们。