Challenge 1: Integer vs. Floating-Point Division — Possible Solution ==================================================================== DivisionDemo.java: public class DivisionDemo { public static void main(String[] args) { int truncated = 7 / 2; double correct = 7 / (double) 2; System.out.println("int division (truncated): " + truncated); System.out.println("cast to double (correct): " + correct); } } Output: int division (truncated): 3 cast to double (correct): 3.5 Explanation: 7 / 2 with both operands as int performs integer division, discarding the remainder entirely -- the result truncates toward zero to 3, not the mathematically correct 3.5. Casting one operand to double forces Java to promote the whole expression to floating-point division before it happens, producing the correct 3.5. WHY THIS WORKS AS AN ANSWER ------------------------------ This demonstrates the exact truncation behavior the chapter describes as identical to C's own int/int division (c1-3), and applies the chapter's own stated fix -- an explicit cast on one operand -- to recover the correct floating-point result.