What is printed for the call myPrint (10)?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Below is the transcription of the code sample and associated problem from the image:

---

### Recursive Method Example: `myPrint`

Consider the recursive method `myPrint`:

```java
public void myPrint(int n)
{
    if (n < 10)
    {
        System.out.print(n);
    }
    else
    {
        int m = n % 10;
        System.out.print(m);
        myPrint(n / 10);
    }
}
```

**Question:**
What is printed for the call `myPrint(10)`?

---

### Explanation

**Code Details:**

- This code defines a recursive method `myPrint` which takes an integer `n` as a parameter.
- If `n` is less than 10, it prints `n`.
- If `n` is 10 or greater:
  - It calculates `m` as the remainder of `n` divided by 10 (`n % 10`).
  - It prints `m`.
  - It then recursively calls `myPrint` with the integer division of `n` by 10 (`n / 10`).

**Execution of `myPrint(10)`**:

1. `n = 10`, which is not less than 10, so the else block executes.
2. `m = 10 % 10 = 0`, then `0` is printed.
3. The method `myPrint(10 / 10)` is called, i.e., `myPrint(1)`.
4. Now, `n = 1`, which is less than 10, so `1` is printed.

**Output:**

For `myPrint(10)`, the printed output is `01`.
Transcribed Image Text:Below is the transcription of the code sample and associated problem from the image: --- ### Recursive Method Example: `myPrint` Consider the recursive method `myPrint`: ```java public void myPrint(int n) { if (n < 10) { System.out.print(n); } else { int m = n % 10; System.out.print(m); myPrint(n / 10); } } ``` **Question:** What is printed for the call `myPrint(10)`? --- ### Explanation **Code Details:** - This code defines a recursive method `myPrint` which takes an integer `n` as a parameter. - If `n` is less than 10, it prints `n`. - If `n` is 10 or greater: - It calculates `m` as the remainder of `n` divided by 10 (`n % 10`). - It prints `m`. - It then recursively calls `myPrint` with the integer division of `n` by 10 (`n / 10`). **Execution of `myPrint(10)`**: 1. `n = 10`, which is not less than 10, so the else block executes. 2. `m = 10 % 10 = 0`, then `0` is printed. 3. The method `myPrint(10 / 10)` is called, i.e., `myPrint(1)`. 4. Now, `n = 1`, which is less than 10, so `1` is printed. **Output:** For `myPrint(10)`, the printed output is `01`.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Binary numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education