import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
double budget1 = 1.00;
int candies = 0;
for (double price = 0.10; budget1 >= price; price += 0.10) {
budget1 -= price;
candies++;
}
System.out.println("Candies: " + candies);
System.out.println("Budget: " + budget1);
BigDecimal TEN_CENTS = new BigDecimal(".10");
BigDecimal budget2 = new BigDecimal("1.0");
candies = 0;
for (BigDecimal price = TEN_CENTS; budget2.compareTo(price) >= 0; price = price.add(TEN_CENTS)) {
budget2 = budget2.subtract(price);
candies++;
}
System.out.println("Candies: " + candies);
System.out.println("Budget: " + budget2);
int budget3 = 1;
candies = 0;
for (int price = 10; budget3 >= price; price += 10) {
budget3 -= price;
candies++;
}
System.out.println("Candies: " + candies);
System.out.println("Budget: " + budget3);
System.out.println(new BigDecimal(.1));
System.out.println(BigDecimal.valueOf(.1));
BigDecimal a = BigDecimal.valueOf(1.01234567890123456789);
System.out.println(a);
BigDecimal b = new BigDecimal("1.01234567890123456789");
System.out.println(b);
BigDecimal one = new BigDecimal("1.0");
System.out.println(one);
BigDecimal one1 = new BigDecimal("1.00");
System.out.println(one1);
System.out.println("1.0 == 1.00? " + one.equals(one1));
System.out.println("1.0.compareTo(1.00)? " + one.compareTo(one1));
BigDecimal x = new BigDecimal("123.456");
x = x.round(new MathContext(2, RoundingMode.HALF_UP));
System.out.println(x.toPlainString());
System.out.println(x.scale());
System.out.println(x.setScale(2, RoundingMode.HALF_UP));
a = new BigDecimal("5");
b = new BigDecimal("7");
//BigDecimal result = a.divide(b);
BigDecimal result = a.divide(b, 10, RoundingMode.HALF_UP);
System.out.println("a/b = " + result);
BigDecimal[] result1 = a.divideAndRemainder(b);
System.out.println("a/b = " + result1);
}
}