/
onequ1z
/
JavaCoursePaperTulSU
Обзор
Документация
Войти
/
onequ1z
/
JavaCoursePaperTulSU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/ru/dmitry/montecarlo/model/MonteCarloResult.java
92 строки
3 KB
tayno
Рефакторинг: добавление секундомера, профилировщика и очистка кода
05 дек 2025, 09:37
05 дек 2025, 09:37
52c8b9a
Код
Авторство
О чём код?
package ru.dmitry.montecarlo.model; /** * Результат одного запуска оценки площади методом Монте-Карло. * Содержит количество испытаний, попаданий, оценку площади, относительную ошибку и время выполнения. * Класс является неизменяемым (immutable). */ public class MonteCarloResult { private final long samples; private final long hits; private final double estimatedArea; private final double relativeErrorPercent; private final long durationMillis; /** * Создаёт результат оценки площади методом Монте-Карло. * * @param samples общее количество испытаний (N) * @param hits количество точек, попавших внутрь фигуры * @param estimatedArea оценка площади фигуры * @param relativeErrorPercent относительная ошибка в процентах относительно точной площади * @param durationMillis время выполнения в миллисекундах */ public MonteCarloResult(long samples, long hits, double estimatedArea, double relativeErrorPercent, long durationMillis) { this.samples = samples; this.hits = hits; this.estimatedArea = estimatedArea; this.relativeErrorPercent = relativeErrorPercent; this.durationMillis = durationMillis; } /** * Возвращает общее количество испытаний (N). * * @return количество испытаний */ public long getSamples() { return samples; } /** * Возвращает количество точек, попавших внутрь фигуры. * * @return количество попаданий */ public long getHits() { return hits; } /** * Возвращает оценку площади фигуры, вычисленную методом Монте-Карло. * * @return оценка площади */ public double getEstimatedArea() { return estimatedArea; } /** * Возвращает относительную ошибку в процентах. * Вычисляется как |estimatedArea - exactArea| / exactArea * 100. * * @return относительная ошибка в процентах */ public double getRelativeErrorPercent() { return relativeErrorPercent; } /** * Возвращает время выполнения оценки в миллисекундах. * * @return время выполнения в миллисекундах */ public long getDurationMillis() { return durationMillis; } @Override public String toString() { return "MonteCarloResult{" + "samples=" + samples + ", hits=" + hits + ", estimatedArea=" + estimatedArea + ", relativeErrorPercent=" + relativeErrorPercent + ", durationMillis=" + durationMillis + " ms}"; } }