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); } }