Scanner keyboard = new Scanner(System.in);
int size, p = 1, q = 1;
char symbol = 0;
String character, character2, shape;
final String RIGHT_TRIANGLE = "Right Triangle";
final String ISOSCELES_TRIANGLE = "Isosceles Triangle";
final String SQUARE = "Square";
do {
System.out.printf("Enter the size (1 - 16) of the square side: ");
size = keyboard.nextInt();
if (size > 16 || size < 1) {
System.out.println("Your input was out of range");
}
} while (size < 1 || size > 16);
System.out.printf("What character is to be used: ");
character = keyboard.next();
character2 = character.toUpperCase();
symbol = character2.charAt(0);
keyboard.nextLine();
do {
System.out.printf("Enter the figure type: Square"
+ ", Right Triangle, or Isosceles Triangle: ");
shape = keyboard.nextLine();
} while (!shape.equalsIgnoreCase(SQUARE) || !shape.equalsIgnoreCase(RIGHT_TRIANGLE)
|| !shape.equalsIgnoreCase(ISOSCELES_TRIANGLE));
if (shape.equalsIgnoreCase(SQUARE)) {
for (int square = 0; square < size; square++) {
for (int square2 = 0; square2 < size; square2++) {
System.out.print(symbol);
}
System.out.println();
}
} else if (shape.equalsIgnoreCase(ISOSCELES_TRIANGLE)) {
for (int yy = 1; yy < size; yy++) {
for (int xy = 1; xy < size - yy; xy++) {
System.out.print(" ");
}
for (int z = 1; z <= p; z++) {
System.out.print(symbol);
}
p += 2;
System.out.println("");
}
} else if (shape.equalsIgnoreCase(RIGHT_TRIANGLE)) {
for (int qq = 0; qq < size; qq++) {
for (int xq = 0; xq < size - qq; xq++) {
System.out.print(" ");
}
for (int z = 1; z <= q; z++) {
System.out.print(symbol);
}
q += 1;
System.out.println("");
}
}