Change like this:
energy_kilocalories {
@Override
public double toBaseUnit(double amount) {
return amount * 1000;
}
};
toBaseUnit
should return value in calories given the value in those units (such as joules, kilocalories etc). This is what the correct example does. Yours does the opposite.