Я пытаюсь создать программу, которая зависит от ввода пользователя для целых чисел от 2 до 10.
Если пользователь ввел четыре, это должен быть вывод:
****
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
****
Я хочу, чтобы на входе 4 было четыре звезды в первой строке, чтобы получить горизонтальное ребро, а затем диагональ 4 звезды.Затем четыре звезды вдоль вертикального «края», перед повторением диагонального и горизонтального края.
Так что я могу нарисовать первую линию, последнюю и среднюю линии вправо, но мои диагонали по какой-то причине даже не показывают пробелы!
****
**
**
**
**
* *
* *
* *
* *
**
**
**
**
****
Это мой код (я новичок, но я много пытался это исправить и мне очень нужна помощь):
int num = 0;
System.out.println("Enter a value between 2 and 10.");
num = keyNum.nextInt();
while (num < 2 || num > 10) {
System.out.println("Enter a valid number please.");
num = keyNum.nextInt();
}
for (int a = 0; a < num + 1; a++)
{
System.out.print(" ");
}
for (int b = 0; b < num; b++)
{
System.out.print("*");
}
for (int c = 0; c < num; c++)
{
System.out.println("");
for (int d = num; d < 1; d--)
{
System.out.print(" ");
}
System.out.print("*");
for (int e = (num * 3) - 2; e < num; e++)
{
System.out.print(" ");
}
System.out.print("*");
}
for (int f = 0; f < num; f++)
{
System.out.println("");
System.out.print("*");
for (int g = 0; g < num * 3; g++)
{
System.out.print(" ");
}
System.out.print("*");
}
for (int h = 0; h < num; h++)
{
System.out.println("");
for (int i = num; i < 1; i--)
{
System.out.print(" ");
}
System.out.print("*");
for (int j = (num * 3) - 2; j < num; j++)
{
System.out.print(" ");
}
System.out.print("*");
}
System.out.println("");
for (int k = 0; k < num + 1; k++)
{
System.out.print(" ");
}
for (int l = 0; l < num; l++)
{
System.out.print("*");
}
Любой видпомощь будет оценена!Спасибо.