## Learn Programming through Logical Thinking Series – 10

### This blog explains about Learn Programming through Logical Thinking Series – 10 and is given below :

_______________________________________________________________________________

Hi,

In today’s post, we discuss about printing X pattern.  Already we know how to use looping statements in Java.  Here I am using while – nested while looping statements to derive X pattern.  The expected output is

### Code:

``````public static void printCross(int size, char display)
{
for (int row = 0; row < size; row++) {
for (int col = 0; col < size; col++) {
if (row == col || row + col == size - 1) {
System.out.print(display);
} else {
System.out.print(" ");
}
}
System.out.println();
}
}``````

Output:

`(size = 5, display = 'x')`

``````x   x
x x
x
x x
x   x``````

## X Pattern Program

public class XPattern {
public static void main(String[] args) {
int i=0,j;
while(i<3){
j=0;
while(j<(i*1)){
System.out.print(” “);
j++;
}
int k=0;
while(k<=(i-i)){
System.out.print(“*”);
k++;
}
k=0;
while(k<(4-(2*i))){
System.out.print(” “);
k++;
}
k=0;
while(k<=(i*0)){
System.out.print(“*”);
k++;
}
System.out.println();
i++;

}
i=1;
while(i>=0){
j=0;
while(j<(i*1)){
System.out.print(” “);
j++;
}
int k=0;
while(k<=(i*0)){
System.out.print(“*”);
k++;
}
k=4;

while(k>(i*2)){
System.out.print(” “);
k–;
}
j=0;
while(j<=(i*0)){
System.out.print(“*”);
j++;
}

### Output:

There are various programs to print X pattern using *

 `// Java program to  ` `// print cross pattern  ` `class` `GFG ` `{ ` ` `  `// Function to print given  ` `// string in cross pattern ` `static` `void` `pattern(String str, ` `                    ``int` `len) ` `{ ` `     `  `    ``// i and j are the indexes  ` `    ``// of characters to be  ` `    ``// displayed in the ith  ` `    ``// iteration i = 0 intially  ` `    ``// and go upto length of string ` `    ``// j = length of string initially  ` `    ``// in each iteration of i,  ` `    ``// we increment i and decrement j, ` `    ``// we print character only  ` `    ``// of k==i or k==j ` `    ``for` `(``int` `i = ``0``; i < len; i++) ` `    ``{ ` `        ``int` `j = len - ``1` `- i; ` `        ``for` `(``int` `k = ``0``; k < len; k++) ` `        ``{ ` `            ``if` `(k == i || k == j) ` `                ``System.out.print(str.charAt(k)); ` `            ``else` `                ``System.out.print(``" "``); ` `        ``} ` `        ``System.out.println(``""``); ` `    ``} ` `} ` ` `  `// Driver code ` `public` `static` `void` `main (String[] args) ` `{ ` `    ``String str = ``"geeksforgeeks"``; ` `    ``int` `len = str.length(); ` `    ``pattern(str, len); ` ` `  `} ` `} ` ` `