Это означает, что наиболее переносимым способом определения реализации методов классов шаблонов является определение их внутри определения класса шаблона.
template < typename ... >
class MyClass
{
int myMethod()
{
// Not just declaration. Add method implementation here
}
};
Так что эту маленькую «проблему» не так просто уловить. Но по сути, Java обманула вас, округлив числа. Каждый раз, когда вы использовали (8/100) или любые другие вычисления для подоходного налога, java просто округлял их до 0, потому что целое / целое число интерпретируется как целочисленный результат. Самый простой способ исправить это, просто добавить .0 к каждому 100.
if (Grosspay[i] > 0.00 || Grosspay[i] < 999.99) {
incomeTax[i] = (8 / 100.0) * Grosspay[i];
} else if (Grosspay[i] > 500.00 || Grosspay[i] < 999.99) {
incomeTax[i] = (10 / 100.0) * Grosspay[i];
} else if (Grosspay[i] > 1000.00) {
incomeTax[i] = (15 / 100.0) * Grosspay[i];
}
Это должно работать.