Во-первых, я бы порекомендовал переписать цифровой формат как более универсальный метод.Передайте массив цифр или ArrayList цифр.Это также упростит вашу жизнь в будущем!
public static void digital(ArrayList<String[][]> arrays) {
// we don't have anything to print
if (arrays.size() == 0)
return;
// for each column
for (int i = 0; i < arrays.get(0).length; i++) {
// for each digit
for (int j = 0; j < arrays.size(); j++) {
String[][] arr = arrays.get(j);
// print current row of a current digit
for (int k = 0; k < arr[0].length; k++) {
System.out.print(arr[i][k]);
}
// if you need spacing between digits, you can add one more
// System.out.print(' ');
}
System.out.println();
}
}
Это пример того, как вы можете запустить эту функцию:
public static void main(String[] args) {
ArrayList<String[][]> list = new ArrayList<>();
list.add(new String[][]{
{" ", "-", " "},
{"-", " ", "-"},
{"-", " ", "-"},
{"-", " ", "-"},
{" ", "-", " "},
});
list.add(new String[][]{
{" ", " ", " "},
{" ", "-", " "},
{" ", " ", " "},
{" ", "-", " "},
{" ", " ", " "},
});
list.add(new String[][]{
{" ", "-", " "},
{"-", " ", "-"},
{"-", " ", "-"},
{"-", " ", "-"},
{" ", "-", " "},
});
digital(list);
}
Эта функция масштабируется до любого размера цифр, простоубедитесь, что количество столбцов всех цифр совпадает.