
JAVA PROGRAM TO PRINT PATTERNS
Interview Questions
Refer this for preparing yourself on how to write java program to print patterns (Note: NOT Design Patterns)
- Start Pattern
- Number Pattern
Star Pattern

public class StarPatternApp { public static void main(String[] args) { StarPatternApp.printPattern("*", 5); } private static void printPattern(String pattern, int size) { StringBuilder patternBuilder = new StringBuilder(); for (int i = 1; i <= size; i++) { patternBuilder.append(pattern); System.out.println(patternBuilder.toString()); } for (int i = size; i > 1; i--) { System.out.println(patternBuilder.deleteCharAt(i - 1).toString()); } } private static String addSpaceAndPrint(int spaceCount, String printStr) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < spaceCount; i++) { sb.append("" + i); } sb.append(printStr); return sb.toString(); } }
Number Pattern

import java.util.ArrayList; import java.util.Collections; import java.util.List; public class NumberReducingPatternApp { public static void main(String[] args) { int n = 5; int length = 1; List<Integer> numberPatternItems = new ArrayList<>(); for(int i=n; i>0;i--){ numberPatternItems.add(listRangeInReverse(n,length)); length++; } //This line actually reverst the entire list, so that the expected number pattern is printed Collections.reverse(numberPatternItems); for(Integer x: numberPatternItems){ System.out.println(x); } } private static Integer listRangeInReverse(int k, int count) { StringBuilder sb = new StringBuilder(); for (int c = k; c >=count;c--){ sb.append(c); } return Integer.parseInt(sb.toString()); } }
Just a Note
There are N-ways of writing the above codes, please feel free to explore by playing around it.