Last active
August 29, 2015 14:19
-
-
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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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