Categories

# Decimal to Octal ISC 2011 Theory

A class DeciOct has been defined to convert a decimal number into its equivalent octal number. Some of the members of the class are given below:

Class name: DeciOct
Data members/instance variables:
n: stores the decimal number.
oct: stores the octal equivalent number.
Member functions:
DeciOct(): constructor to initialize the data members n = 0, oct = 0.
void getNum(int num): assign num to n.
void deciOct(): calculates the octal equivalent of ‘n’ and stores it in ‘oct’ using the recursive technique.
void show(): displays the decimal number ‘n’, calls the function deciOct() and displays its octal equivalent.

Specify the class DeciOct, giving details of the constructor, void getNum(int), void deciOct() and void show(). Also define a main() function to create an object and call the functions accordingly to enable the task.

State any two disadvantages of using recursion.

``````import java.io.*;
class DeciOct{
private int n;
private int oct;
public DeciOct(){
n = 0;
oct = 0;
}
public void getNum(int num){
n = num;
}
public void deciOct(){
if(n > 0){
int rem = n % 8;
n /= 8;
deciOct();
oct = oct * 10 + rem;
}
}
public void show(){
System.out.println("Decimal number: " + n);
deciOct();
System.out.println("Octal equivalent: " + oct);
}
public static void main(String args[])throws IOException{
System.out.print("N = ");