✏️ Explanatory Question

[String]

Question:

Find the output:

System.out.println(
    "RocKet".substring(0, 4)
    .compareTo("Rock".replace('m', 'o'))
);

👁 0 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

Answer:

-32

Explanation:

Let us evaluate the expression step-by-step.

Step 1: substring(0, 4)

"RocKet".substring(0, 4)

The substring method takes characters from index 0 to index 3.

R  o  c  K  e  t
0  1  2  3  4  5

Result:

"RocK"

Step 2: replace('m', 'o')

"Rock".replace('m', 'o')

The word "Rock" does not contain the character 'm'. So no replacement occurs.

Result:

"Rock"

Step 3: compareTo()

"RocK".compareTo("Rock")

compareTo() compares strings character by character using ASCII values.

Comparison:

R = R
o = o
c = c
K ≠ k

ASCII values:

K = 75
k = 107

Difference:

75 - 107 = -32

Therefore:

Output = -32

Conclusion:

  • substring(0,4) → "RocK"
  • replace('m','o') → "Rock"
  • compareTo() compares ASCII values
  • Final Output = -32