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

Discussion

What will be the output of the program?

public class Demo15
{
    private static void report()
    {
        StringBuilder sb = new StringBuilder();
        sb.append(1).append(2 + 3).append("4");
        System.out.println(sb);
    }

    public static void main(String[] args)
    {
        report();
    }
}

  • A.Compilation fails.
  • B.The program prints 1234
  • C.The program prints 154
  • D.The program prints 1 5 4

Answer: C

The arithmetic inside the second append is evaluated before the call, so 2 + 3 becomes the int 5 rather than being concatenated as text. The three appends therefore add 1, 5 and 4 in turn, giving 154. Only string concatenation would have produced 23.

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

Post your comment

Please log in or register to post a comment.