Refer this for preparing yourself on how to write java program to print patterns (Note: NOT Design Patterns)
Start Pattern
Number Pattern
Star Pattern
(max. length is 5)
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.