Было бы более полезно, если бы вы объяснили, какой результат вы получаете и что вам не нравится в этом.«не может вычислить результат» подразумевает, что вы получаете какое-то исключение, но я не думаю, что это то, что вы имеете в виду.
Что вы, вероятно, имеете в виду, так это то, что полученный вами результат не соответствует вашим ожиданиям, и наиболее вероятной причиной этого является то, что все ваши переменные int
, поэтому он выполняет целочисленную арифметику, но вы, вероятно, хотите получить результаты с плавающей точкой из ваших делений.
Я предлагаю изменить ваши локальные переменныев float
или double
, поэтому перед выполнением арифметики целые числа будут автоматически преобразованы.
Кроме того, похоже, что у вас есть два сложных арифметических выражения несколько раз.Я рассчитал бы их один раз и назначил бы их локальным переменным (в цикле, перед if).