updated based on latest changes in LoadingBar
This commit is contained in:
parent
8386b1b53d
commit
c14f2455e4
@ -1,3 +1,6 @@
|
||||
import java.math.BigDecimal;
|
||||
import java.math.MathContext;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@ -14,6 +17,7 @@ public class SimpleLoadingBar {
|
||||
private static final DecimalFormat PERCENTAGE_FORMAT = new DecimalFormat("00.00");
|
||||
private static final int MINS_PER_HOUR = 60;
|
||||
private static final int LINE_LENGTH = 100;
|
||||
private static final MathContext MC_INTEGER = new MathContext(1, RoundingMode.HALF_EVEN);
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
@ -114,9 +118,11 @@ public class SimpleLoadingBar {
|
||||
|
||||
|
||||
private static String fillLoadingBar(long initialMinutes, long passedMinutes, boolean progressive) {
|
||||
double wholePercentage = ((double) passedMinutes / initialMinutes) * 100;
|
||||
BigDecimal wholePercentage = BigDecimal.valueOf(100)
|
||||
.multiply(BigDecimal.valueOf(passedMinutes)
|
||||
.divide(BigDecimal.valueOf(initialMinutes), MathContext.DECIMAL64));
|
||||
long remainingMinutes = initialMinutes - passedMinutes;
|
||||
int numberOfEquals = (int) wholePercentage;
|
||||
int numberOfEquals = wholePercentage.intValue();
|
||||
var sb = new StringBuilder("[");
|
||||
for (int i = 0; i < LINE_LENGTH; i++) {
|
||||
if (i < numberOfEquals) {
|
||||
@ -135,7 +141,9 @@ public class SimpleLoadingBar {
|
||||
|
||||
|
||||
private static String minutesToTimeString(long minutes) {
|
||||
return LocalTime.of((int) minutes / MINS_PER_HOUR, (int) minutes % MINS_PER_HOUR).format(TIME_FORMATTER);
|
||||
var minutesBD = BigDecimal.valueOf(minutes);
|
||||
BigDecimal[] hoursAndMinutes = minutesBD.divideAndRemainder(BigDecimal.valueOf(MINS_PER_HOUR), MC_INTEGER);
|
||||
return LocalTime.of(hoursAndMinutes[0].intValue(), hoursAndMinutes[1].intValue()).format(TIME_FORMATTER);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user