Почему, предполагая, что A
является массивом целых чисел, а D
является двойным и K
целым числом,
int v = ((A[i+1]-A[i])/D);
K -= v;
приводит к ошибке компиляции в Java, но
double v = ((A[i+1]-A[i])/D);
K -= v;
не так?
Даже страннее,
A
K -= ((A[i+1]-A[i])/D);
дает результат, отличный от
B
K -= (int)((A[i+1]-A[i])/D);
Это не имеет никакого смысла для меня?Я всегда предполагал, что А) никогда не скомпилируется (пытаясь неявно преобразовать двойное число в целое).
Может ли кто-нибудь объяснить мне этот вопрос?
Спасибо