Skip to content

Instantly share code, notes, and snippets.

@MostafaAnter
Last active August 29, 2015 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MostafaAnter/9010da2b7dade59e6ade to your computer and use it in GitHub Desktop.
Save MostafaAnter/9010da2b7dade59e6ade to your computer and use it in GitHub Desktop.
Draw hollow diamond shape in Java code in which user enter its desire size of diamond Using nested for loop and asterisk
package ngoom;
import java.util.ArrayList;
import java.util.Stack;
public class Ngoom {
static final int input = 13; /// عدد الصفوف ولازم يكون فردى
public static void printFirstSpaceInvers(int lineNum ){
int var = input/2;
switch(lineNum){
case input :
for(int spaceLoop = 0; spaceLoop<var; spaceLoop++)
System.out.print(" ");
break;
default:
for(int spaceLoop = 0; spaceLoop<(lineNum - var); spaceLoop++)
System.out.print(" ");
break;
}
}
public static void printFirstSpace(int lineNum){
int var = input/2;
switch(lineNum){
case 0:
for(int spaceLoop = 0; spaceLoop<var; spaceLoop++)
System.out.print(" ");
break;
case input :
for(int spaceLoop = 0; spaceLoop<var; spaceLoop++)
System.out.print(" ");
break;
default:
for(int spaceLoop = 0; spaceLoop<(var - lineNum); spaceLoop++)
System.out.print(" ");
break;
}
}
public static String printSecondSpace(int lineNum){
String space = "";
switch(lineNum){
default:
for(int spaceLoop = 0; spaceLoop < ((lineNum*2)-1); spaceLoop++)
space += " ";
break;
}
return space;
}
public static String printSecondSpaceInvers(int lineNum){
String space = "";
switch(lineNum){
default:
for(int spaceLoop = 0; spaceLoop < ((lineNum*2)-1); spaceLoop++)
space += " ";
break;
}
return space;
}
public static void main(String[] args) {
// TODO code application logic here
Stack<String> space = new Stack<>();
for(int i=0; i<input; i++){
if(i < input/2){
printFirstSpace(i);
System.out.print("*");
if(i == (input-1) || i == 0){
System.out.println("");
continue;
}
System.out.println(printSecondSpace(i) + "*");
space.push(printSecondSpace(i));
}
else
if(i > input/2){
printFirstSpaceInvers(i);
System.out.print("*");
if(i == (input-1)){
System.out.println("");
continue;
}
System.out.println(space.pop() + "*");
}
else if(i == input/2){
printFirstSpace(i);
System.out.print("*");
if(i == (input-1) || i == 0){
System.out.println("");
continue;
}
System.out.println(printSecondSpace(i) + "*");
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment