Вы умножаете числа на цифры и неправильно обрабатываете числа 10.
Вам нужно сначала разобрать строки в целые числа. Вы на правильном пути здесь. Вы можете упростить индексы цикла, и вам нужно будет вызвать toCharArray
только один раз. E.g.:
После разбора вы можете умножить целые числа.
РЕДАКТИРОВАТЬ: Если это не разрешено, вам нужно реализовать алгоритм, подобный , этот , который немного сложнее.
Один из подходов заключается в создании массива (n + 1) x (m + n) (строго массив массивов), где m и n - количество цифр в каждом. Он будет инициализирован в 0, и вы можете использовать его как область для размещения строк немедленных и окончательных результатов. Затем они суммируются с переносом. Это, очевидно, наивный алгоритм.
например. для примера выше:
int[][] intermediates = new int[3][4];
Это верхняя граница.