Write a java program that reads a number N as input and disp

Write a java program that reads a number N as input and displays the following output using stacks with parameters.

Example o Input: Enter N: o Output: 5

Solution

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Stacks {

   public static void main(String[] args) throws IOException {
       // used variables
       BufferedReader reader;
       String input,outerSpaces,innerSpaces;
       Integer number;
      
       // taking input
       System.out.print(\"Enter N : \");
       reader = new BufferedReader(new InputStreamReader(System.in));
       input = reader.readLine();
       number = Integer.parseInt(input);
      
       // printing upper stack
       for(int i=1;i<number;i++){
           outerSpaces = getOuterSpaces(i);
           innerSpaces = getInnerSpaces(number, i);
           System.out.print(outerSpaces);
           System.out.print(i);
           System.out.print(innerSpaces);
           if(i != number){
               System.out.print(i);
           }
           System.out.print(outerSpaces);
           System.out.println();
       }
      
       // printing lower stack ( simply reverse loop for above block )
       for(int i=number;i>0;i--){
           outerSpaces = getOuterSpaces(i);
           innerSpaces = getInnerSpaces(number, i);
           System.out.print(outerSpaces);
           System.out.print(i);
           System.out.print(innerSpaces);
           if(i != number){
               System.out.print(i);
           }
           System.out.print(outerSpaces);
           System.out.println();
       }
   }
  
   public static String getOuterSpaces(int offset){
       StringBuffer buffer = new StringBuffer(\"\");
       for(int i=0;i<offset-1;i++){
           buffer.append(\" \");
       }
       return buffer.toString();
   }
  
   public static String getInnerSpaces(int stackSize,int offset){
       StringBuffer buffer = new StringBuffer(\"\");
       for(int i=0;i<(stackSize-offset)*2;i++){
           buffer.append(\" \");
       }
       return buffer.toString();
   }

}

Write a java program that reads a number N as input and displays the following output using stacks with parameters. Example o Input: Enter N: o Output: 5 Soluti
Write a java program that reads a number N as input and displays the following output using stacks with parameters. Example o Input: Enter N: o Output: 5 Soluti

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site