Java: как разделить число на части с фиксированными соотношениями в Java, гарантируя при этом правильную сумму? [закрытоJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java: как разделить число на части с фиксированными соотношениями в Java, гарантируя при этом правильную сумму? [закрыто

Сообщение Anonymous »

Я пытаюсь разделить число (numberOfThings) на четыре части на основе фиксированных соотношений. Соотношения следующие:
  • 60% для части 1
  • 25% для части 2
  • 10% для части 3
  • 5% для части 4
Вот код, который я использую для расчета части:

Код: Выделить всё

private final double PART1_RATIO = 0.60;
private final double PART2_RATIO = 0.25;
private final double PART3_RATIO = 0.10;
private final double PART4_RATIO = 0.05;

private void divideIntoParts(int numberOfThings){
int part1 = (int) Math.floor(numberOfThings * PART1_RATIO);
int part2 = (int) Math.floor(numberOfThings * PART2_RATIO);
int part3 = (int) Math.floor(numberOfThings * PART3_RATIO);
int part4 = (int) Math.floor(numberOfThings * PART4_RATIO);
}
Например, если numGraph = 10, вычисление дает:
  • part1 = 6
  • part2 = 2
  • part3 = 1
  • part4 = 0
Сумма этих частей равна 9, что неверно, ожидаемый результат должен быть:
  • part1 = 6
  • part2 = 3
  • part3 = 1
  • part4 = 0
Будем очень признательны за любые рекомендации и предложения по исправлению этого расчета!< /п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-ensuring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»