Programming In Java Week 8 Answers

Q1. Write a program which will print a pyramid of “*” ‘s of height “n” and print the number of “*” ‘s in the pyramid.

Code:-

import java.util.*;
public class Pattern1 {
    public static void main(String[] args) {
        Scanner inr = new Scanner(System.in);
	   int n = inr.nextInt();
        // Add the necessary code in the below space
int k = 0,sum=0;
        for(int i = 1; i <= n; ++i, k = 0) {
            for(int space = 1; space <= n - i; ++space) {
                System.out.print("  ");
            }
            while(k != 2 * i - 1) {
                System.out.print("* ");
                sum=sum+1;
                ++k;
            }
            System.out.println();
        }
         System.out.println(sum); 
    }
}

Q2. Write a program which will print a pascal  pyramid of  “*” ‘s of height “l” .

Code:-

import java.util.*;
public class Pattern2 {
    public static void main(String[] args) {
        Scanner inr = new Scanner(System.in);
	    int l = inr.nextInt();
        // Add the necessary code in the below space
   
int i,j;
        int space=l-1;
    /*run loop (parent loop) till number of rows*/
     for(i=0;i< l;i++)
       {
	    /*loop for initially space, before star printing*/
	    for(j=0;j< space;j++)
	    {
		    System.out.print(" ");
	    }
	    for(j=0;j<=i;j++)
	    {
		    System.out.print("* ");
	    }
		
	    System.out.print("\n");
	    space--;	/* decrement one space after one row*/
         }
   	}
}

Q3. Write a program which will print a pyramid of “numbers” ‘s of height “n” and print the sum of all number’s in the pyramid.

Code:-

import java.util.*;
  public class Pattern3 {
    public static void main(String[] args) {
        Scanner inr = new Scanner(System.in);
	   int n = inr.nextInt();
        // Add the necessary code in the below space
int k = 1,sum=0;
        for(int i = 1; i <= n; ++i, k = 1) {
            for(int space = 1; space <= n-i; ++space) {
                System.out.print("  ");
            }
            while(k <= 2 * i - 1) {
                System.out.print(k+" ");
                sum=sum+k;
                ++k;
            }
            System.out.println();
        }
         System.out.println(sum); 
    }
}

Q4. Write a program to print symmetric Pascal’s triangle of “*” ‘s of  height “l” of odd length . If input “l” is even then your program will print “Invalid line number”.

Code:-

import java.util.*;
public class Pattern4 {
    public static void main(String[] args) {
        Scanner inr = new Scanner(System.in);
	  int l = inr.nextInt();
        // Add the necessary code in the below space
   int ul=0; // Upper Line
	   int ll=0; // Lower Line
	  	
	// Check whether line number is odd
	   if (l%2!=0){
	   ul=(l/2)+1;			
	   ll=l-ul;
	//Code for upper half
	for(int i=1;i<=ul; i++){	
	//Space management
	for(int s=1;s<=(ul-i); s++){
	    System.out.print(" ");
	}
	// Star management
	for(int j=1;j<=i; j++){
	     System.out.print("* ");
	}
	System.out.println();
	}
			
	//Code for lower half
	int llc=ll;
	for(int i=1;i<=ll; i++){
	//Space management
	for(int s=llc;s<ll; s++){
	   System.out.print(" ");
	}
	// Star management
	for(int j=1;j-1<=ll-i; j++){
	   System.out.print(" *");
	 }
	 llc--;
	System.out.println();
        }
	}
        else{
	   System.out.print("Invalid line number");
	}

    }
}

Q5. Write a program to display any digit(n) from 0-9 represented as a “7 segment  display”

Code:-

import java.util.*;

public class Pattern5 {

    private static final Map<Integer, Integer> encodings =
        new HashMap<Integer, Integer>();

    static {
        encodings.put(0, 0x7E);
        encodings.put(1, 0x30);
        encodings.put(2, 0x6D);
        encodings.put(3, 0x79);
        encodings.put(4, 0x33);
        encodings.put(5, 0x5B);
        encodings.put(6, 0x5F);
        encodings.put(7, 0x70);
        encodings.put(8, 0x7F);
        encodings.put(9, 0x7B);
    }

    public static void printDigit(int digit) {
        int code = encode(digit);
        char[] bits =
            String.format("%7s", Integer.toBinaryString(code))
                .replace(' ', '0').toCharArray();

        lightSegment(bits[0] == '1', " _ \n", "   \n");
        lightSegment(bits[5] == '1', "|", " ");
        lightSegment(bits[6] == '1', "_", " ");
        lightSegment(bits[1] == '1', "|\n", " \n");
        lightSegment(bits[4] == '1', "|", " ");
        lightSegment(bits[3] == '1', "_", " ");
        lightSegment(bits[2] == '1', "|\n", " \n");
    }

    private static void lightSegment(boolean on, String onValue, String offValue) {
        System.out.print(on ? onValue : offValue);
        try {
            Thread.sleep(0);
        }
        catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    private static int encode(int digit) {
        return encodings.containsKey(digit) ? encodings.get(digit) : 0x00;
    }
   public static void main(String[] args) throws Exception {
           Scanner inr = new Scanner(System.in);
	   int n = inr.nextInt();
                 printDigit(n);
       
    }
}