Java solution to 24 pattern problems
simple logic behind pattern problems
-
The number of rows in the pattern are executed by the outer loop.
-
Inner loop executes over number of columns (calculate column number)
-
The elements need to print in each column
-
Careful about new lines and spaces
Pattern 1
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
//outer loop iterates over n;
for(int row = 1; row <=n; row++){
//inner loop iterates over row;
for(int col = 1; col <=row; col++){
//print *;
System.out.print("* ");
}
//print new line;
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 2
* * * * *
* * * *
* * *
* *
*
public static void main(String[] args) {
// number of lines in the pattern;
int n = 5;
// outer loop iterates over number of lines;
for(int row = 1; row <= n; row++) {
// inner loop iterates over the formula (n + 1)-row ;
for(int col = 1; col <= n+1-row; col++) {
//print *
System.out.print("* ");
}
// add new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 3
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
//outer loop iterates over n;
for(int row = 1; row <=n; row++){
//inner loop iterates over row;
for(int col = 1; col <=row; col++){
//print *;
System.out.print(col + " ");
}
//print new line;
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 4
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
public static void main(String[] args) {
// number of lines look similar
int n = 5;
// outer loop iterates over number of lines in the pattern
for(int row = 1; row < 2*n; row++) {
// calculate number of columns in a row
int noOfCol = row > n ? 2*n - row : row;
// inner loop iterates over number of columns
for(int col = 1; col <= noOfCol; col++) {
// print *
System.out.print("* ");
}
// add new line after every row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 5
* * * * *
* * * *
* * *
* *
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of lines look similar
int n = 5;
// outer loop iterates over number of lines in the pattern
for(int row = 1; row < 2*n; row++){
// calculate number of columns in a row
int noOfCols = row > n ? row+1-n : n+1-row;
// inner loop iterates over number of columns
for(int col = 1; col <= noOfCols; col++) {
// print *
System.out.print("* ");
}
// After printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 6
*
* *
* * *
* * * *
* * * * *
* * * * *
* * * *
* * *
* *
*
public static void main(String[] args) {
// number of lines look similar
int n = 5;
// outer loop iterates over number of lines in the pattern
for(int row = 1; row <= 2*n; row++) {
// calculate number of columns in a row
int noOfCol = row > n ? 2*n - row+1 : row;
// inner loop iterates over number of columns
for(int col = 1; col <= noOfCol; col++) {
// print *
System.out.print("* ");
}
// add new line after every row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 7
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of similar lines that don't repeated
int n = 5;
// outer loop iterates over number of lines
for(int row = 1; row <=2*n; row++) {
// calculate the number of columns in each row
int noOfCols = row > n? row - n : (n+1)-row ;
// inner loop iterates over number of columns
for(int col = 1; col <= noOfCols; col++) {
// print *
System.out.print("* ");
}
// after printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 8
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop iterates over Number of lines which is rows
for(int row = 1; row <= n; row ++) {
// number of columns for printing space
int noOfSpaces = n-row;
// inner loop iterates over Number of spaces
for(int space = 1; space <= noOfSpaces; space ++) {
System.out.print(" ");
}
// number of columns for printing star
int noOfStars = row;
// inner loop iterates over Number of stars
for(int star = 1; star <= noOfStars; star ++) {
System.out.print("* ");
}
// after printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 9
* * * * *
* * * *
* * *
* *
*
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop iterates over Number of lines which is rows
for(int row = 1; row <= n; row ++) {
// number of columns for printing space
int noOfSpaces = row-1;
// inner loop iterates over Number of spaces
for(int space = 1; space <= noOfSpaces; space ++) {
System.out.print(" ");
}
// number of columns for printing star
int noOfStars = n+1-row;
// inner loop iterates over Number of stars
for(int star = 1; star <= noOfStars; star ++) {
System.out.print("* ");
}
// after printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 10
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop executes until the number of lines is reached
for(int row = 1; row <=n; row++) {
// number of spaces in the columns
int noOfSpaces = n - row;
// inner loop executes until the number of spaces is reached
for(int space = 1; space <=noOfSpaces; space++) {
System.out.print(" ");
}
// number of stars in the columns
int noOfStars = row + row-1;
// inner loop executes until the number of stars is reached
for(int star = 1; star <= noOfStars; star++) {
System.out.print("* ");
}
// after printing each row,add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 11
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop executes until the number of lines is reached
for(int row = 1; row <=n; row++) {
// number of spaces in the columns
int noOfSpaces = row-1;
// inner loop executes until the number of spaces is reached
for(int space = 1; space <=noOfSpaces; space++) {
System.out.print(" ");
}
// number of stars in the columns
int noOfStars = 2* (n-row)+1;
// inner loop executes until the number of stars is reached
for(int star = 1; star <= noOfStars; star++) {
System.out.print("* ");
}
// after printing each row,add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 12
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop iterates over Number of lines which is rows
for(int row = 1; row <= n; row ++) {
// number of columns for printing space
int noOfSpaces = n-row;
// inner loop iterates over Number of spaces
for(int space = 1; space <= noOfSpaces; space ++) {
System.out.print(" ");
}
// number of columns for printing star
int noOfStars = row;
// inner loop iterates over Number of stars
for(int star = 1; star <= noOfStars; star ++) {
System.out.print("* ");
}
// after printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 13
* * * * *
* * * *
* * *
* *
*
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop iterates over Number of lines which is rows
for(int row = 1; row <= n; row ++) {
// number of columns for printing space
int noOfSpaces = row-1;
// inner loop iterates over Number of spaces
for(int space = 1; space <= noOfSpaces; space ++) {
System.out.print(" ");
}
// number of columns for printing star
int noOfStars = n-row+1;
// inner loop iterates over Number of stars
for(int star = 1; star <= noOfStars; star ++) {
System.out.print("* ");
}
// after printing each row, add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 14
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * *
public static void main(String[] args) {
// number of lines in the pattern which is rows
int N = 10;
// number of similar lines in the pattern
int n = 5;
// outer loop iterates over the number of lines N
for (int row = 1; row <= N; row++) {
// number of spaces in the column
int noOfSpaces = row > n ? N - row : row - 1;
// inner loop iterates over the number of spaces
for(int space = 1; space <= noOfSpaces; space++) {
System.out.print(" ");
}
// number of stars in the column
int noOfStars = row > n ? row-n : n-row+1;
// inner loop iterates over the number of stars
for(int stars = 1; stars <= noOfStars; stars++) {
System.out.print("* ");
}
// add a new line after printing rows
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 15
*
* *
* *
* *
*********
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop will be executed till the number of lines
for(int row = 1; row <=n; row++) {
// number of spaces in the column before printing star
int noOfSpaces = n -row;
//inner loop executes until the noOfSpaces is reached
for(int space = 1; space <=noOfSpaces; space++) {
// print spaces
System.out.print(" ");
}
// number of stars and spaces in the pattern
int noOfStars = row + row -1;
// inner loop executes until the noOfStars is reached
for(int star = 1; star <= noOfStars; star++){
// print stars in first, last in the column and last row
if(star ==1 || star == noOfStars || row == n){
System.out.print("*");
}
// otherwise print spaces
else System.out.print(" ");
}
// adding a new line after printing each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 16
*********
* *
* *
* *
*
public static void main(String[] args) {
// number of lines in the pattern
int n = 5;
// outer loop will be executed till the number of lines
for(int row = 1; row <=n; row++) {
// number of spaces in the column before printing star
int noOfSpaces = row-1;
//inner loop executes until the noOfSpaces is reached
for (int space = 1; space <= noOfSpaces; space++) {
// print spaces
System.out.print(" ");
}
// number of stars and spaces in the pattern
int noOfStars = 2*n-row- noOfSpaces;
// inner loop executes until the noOfStars is reached
for (int star = 1; star <= noOfStars; star++) {
// print stars in first, last in the column and last row
if (star == 1 || star == noOfStars || row == 1) {
System.out.print("*");
}
// otherwise print spaces
else System.out.print(" ");
}
// adding a new line after printing each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 17
*****
* *
* *
* *
*****
public static void main(String[] args) {
// number of lines in the pattern
int l = 5;
// outer loop executes over l
for(int row = 1; row <=l; row ++) {
// number of stars and spaces in a row;
int noOfStars = l ;
// inner loop executes over noOfStars;
for(int star = 1; star <=noOfStars; star ++) {
// print star in column first,column last, row first and row last positions
if(star == 1 || star == noOfStars || row == l || row == 1){
System.out.print("*");
}
// print spaces
else System.out.print(" ");
}
// add a new line after each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 18
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
public static void main(String[] args) {
// total lines in the pattern
int l = 5;
// outer loop executes over the l
for(int row = 1; row <= l; row++) {
// number of Spaces before printing stars
int noOfSpaces = row - 1;
// inner loop executes over noOFSpaces;
for(int space = 1; space <= noOfSpaces; space++) {
// print space
System.out.print(" ");
}
// number of stars;
int noOfStars = l;
// inner loop executes over noOfStars;
for(int star = 1; star <= noOfStars; star++) {
// print star
System.out.print("* ");
}
// add a new line before executes next row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 19
*****
* *
* *
* *
*****
public static void main(String[] args) {
// number of lines in the pattern
int l = 5;
// outer loop for executing the number of rows which is equal to number of lines l
for(int row = 1; row <=l; row ++) {
// number of spaces in the column before printing stars
int noOfSpaces = l - row;
// inner loop executes over noOfSpaces
for(int spaces = 1; spaces <= noOfSpaces; spaces++) {
// print stars before printing stars
System.out.print(" ");
}
// number of stars and middle spaces
int noOfStars = l;
// inner loop executes over noOfStars
for(int stars = 1; stars <=noOfStars; stars++) {
// print stars in first and last position of column and row
if(stars == 1 || stars == noOfStars || row == 1 || row == l){
System.out.print("*");
}
// otherwise print middle spaces
else System.out.print(" ");
}
// add a new line after each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 20
*****
* *
* *
* *
*****
public static void main(String[] args) {
// number of lines in the pattern
int l = 5;
// outer loop for executing the number of rows which is equal to number of lines l
for(int row = 1; row <=l; row ++) {
// number of spaces in the column before printing stars
int noOfSpaces = row -1;
// inner loop executes over noOfSpaces
for(int spaces = 1; spaces <= noOfSpaces; spaces++) {
// print stars before printing stars
System.out.print(" ");
}
// number of stars and middle spaces
int noOfStars = l;
// inner loop executes over noOfStars
for(int stars = 1; stars <=noOfStars; stars++) {
// print stars in first and last position of column and row
if(stars == 1 || stars == noOfStars || row == 1 || row == l){
System.out.print("*");
}
// otherwise print middle spaces
else System.out.print(" ");
}
// add a new line after each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 21
*
* *
* *
* *
* *
* *
* *
* *
*
public static void main(String[] args) {
// number of lines
int l = 9;
// number of similar lines
int n = l/2+1;
// outer loop iterates over l;
for(int row = 1; row <= l; row++) {
// number of spaces before printing each column
int noOfSpaces = row > n ? row - n : n - row ;
// inner loop iterates over noOfSpaces;
for(int space = 1; space <= noOfSpaces; space++) {
// print spaces
System.out.print(" ");
}
// number of stars in a column
int noOfStars = row > n ? 2*n - row : row ;
// inner loop iterates over noOfStars;
for(int star = 1; star <= noOfStars; star++) {
// star print in first and last column in a row
if(star == 1 || star == noOfStars) {
System.out.print("* ");
}
// otherwise print spaces
else System.out.print(" ");
}
// add a new line after each row
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 22
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
public static void main(String[] args) {
// number of lines
int n = 5;
// outer loop iterates over n;
for(int row = 1; row <= n; row++) {
// set num = 1;
int num = 1;
// number of spaces before printing elements
int noOfSpaces = n - row ;
// outer loop iterates over noOfSpaces;
for(int space = 1; space <= noOfSpaces; space++) {
// print spaces
System.out.print(" ");
}
// inner loop iterates over row;
for(int col = 1 ; col <= row; col++) {
// print num;
System.out.print(num + " ");
// update num value for next number
num = num * (row - col)/ (col);
}
// add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 23
1
212
32123
4321234
32123
212
1
public static void main(String[] args) {
// number of input
int n = 4;
// number of lines
int N = 2*n-1;
// outer loop iterates over N;
for(int row = 1; row <= N; row++) {
// number of spaces in a row
int noOfSpaces = row > n ? row - n : n - row ;
// inner loop iterates over noOfSpaces;
for(int space = 1; space <= noOfSpaces; space++) {
// print space
System.out.print(" ");
}
// number of cols c;
int c = row > n ? 2*n-row : row ;
// from c to 1
for(int col = c; col >= 1 ; col--) {
System.out.print(col);
}
// from 2 to c;
for(int col = 2; col <=c ; col++) {
System.out.print(col);
}
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
Pattern 24
1
0 1
1 0 1
0 1 0 1
1 0 1 0 1
public static void main(String[] args) {
// number of lines
int n = 5;
// outer loop iterates over n;
for (int row = 1; row <= n; row++) {
// inner loop executes each col till number of rows;
for (int col = 1; col <= row; col++) {
// print 1 for even
if ((row + col) % 2 == 0) {
System.out.print(1+ " ");
}
// print 0 for odd
else {
System.out.print(0+ " ");
}
}
// add a new line
System.out.println();
}
}
Enter fullscreen mode Exit fullscreen mode
原文链接:Java Pattern Problem
暂无评论内容