Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which line rests on a mistaken assumption?

public class Sample35
{
    public static void main(String[] args)
    {
        int total = 7;
        int count = 2;
        assert total / count == 3.5 : "wrong average";
        System.out.println(total / count);
    }
}

  • A.System.out.println(total / count);
  • B.Every line above is correct as written.
  • C.assert total / count == 3.5 : "wrong average";
  • D.int count = 2;

Answer: C

Both operands are ints, so the division is integer division and yields 3, which is then widened to 3.0 for the comparison and does not equal 3.5. The assertion fails on arithmetic that is behaving exactly as specified. Casting one operand to double is what the author intended.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.