Задача: Напишите программу, которая будет считывать с консоли любое число (от 0 до
* 99999999) и выводить его цифры в виде звёздочек.
считанную строку преобразую в массив, по логике, если элемент массива > 0, т.е число не первое, делается отступ, равный количеству звездочек, которые занимает цифра, и вторая цифра начинает печататься. Рассматриваю на примере цифр 0 и 1. мой код выводит это:
*****
* *
* *
* *
*****
**
* *
*
*
*****
а должен так.:
***** **
* * * *
* * *
* * *
***** *****
не понимаю механику
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input number");
int number = scanner.nextInt();
scanner.close();
String s = Integer.toString(number);
int[] intArray = new int[s.length()];
int count = 0;
for (int i = 0; i < s.length(); i++) {
int n = 5; //ширина цифры
int mid = n / 2 + 1;
for (int ind = 0; ind < intArray.length; ind++) {
if (intArray[ind] > 0) {
System.out.print(" ");
}
}
switch (intArray[i]) {
case 0:
for (i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if ((j == 1 || j == n) || (i == 1 || i == n)) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
case 1:
for (i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j == mid || i == n || (i + j == mid && j <= mid)) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
} count++;
}
}
вот здесь пыталась сделать перебор массива по индексам.
for (int ind = 0; ind < intArray.length; ind++) {
if (intArray[ind] > 0) {
System.out.print(" ");
}
}