Есть 3 класса, 1й- выполняет вычисления над двумя целыми числами(деление) и передает все результаты (в т.ч. промежуточные) вычислений во 2й класс для хранения, а 3й класс берет эти результаты и формирует вывод в консоль. Т.к. промежуточных результатов много, то приходится формировать и хранить их в таком виде(многомерный массив):

Код :
  1. private int[][] makeArithmetic(int[][] result, int index, int dividend, int divisor) {
  2.     int[][] calculatedResult = result;
  3.  
  4.     calculatedResult[0][index] = dividend / divisor;
  5.     calculatedResult[2][index] = divisor * calculatedResult[0][index];
  6.     calculatedResult[1][index] = dividend - divisor * calculatedResult[0][index];
  7.     calculatedResult[3][index] = calculatedResult[1][index];
  8.     calculatedResult[4] = new int[2];
  9.     return calculatedResult;
  10. }

Во 2м классе данные хранятся в таком виде:

i
Код :
  1. nt[][] commonValues = {
  2.    {19, 6, 1, 4, 7, 5},
  3.    {2459, 59, 19, 30, 20, 0},
  4.    {76000, 2400, 40, 16, 28, 20},
  5.    {2459, 59, 19, 3, 2, 0},
  6.    {0, 0}
  7. };
Как для практичности и читабельности можно переделать архитектуру, чтобы метод возвращал не многомерный массив, а, например, Объект, без использования коллекций? Соответственно и хранил?

P.S. количество значений в каждом массиве может менятся