Я пытаюсь создать программу, которая принимает x добавок и превращает их в результат на основе строк.Причина использования String [], а не int [] состоит в том, что некоторые числа слишком велики для int / long (и нам не разрешено использовать BigInteger в этом проекте), поэтому мы придерживаемся String [] в этомпрограмма.Кроме того: все значения в параметре String [] имеют длину 25 нулей, а число заменяет последние несколько нулей, как показано ниже.
Например: если вы передали строковый массив с тремя значениями...
0000000000000000000000203
0000000000000000000000045
0000000000000000000000010
Метод скомпоновал бы его в строку [] со значением ...
0000000000000000000000258
Сложной частью является учет переноса числа,как в элементарной алгебре.Ниже приведено то, что я получил до сих пор
//Every array will be 25 digits long. Mostly zeroes with the numbers to add at the
//end
public static final int ARRSIZE = 25;
public static void addStuff(String[] stuff) {
String[] result = new String[ARRSIZE];
int[] holder = new int[ARRSIZE];
String temp = "";
int area = 0;
int carry = 0;
for (int i = 0; i < stuff.length; i++)
{
for (int j = 0; j < stuff.length; j++)
{
temp = stuff[j].substring(stuff[i].length() - 1-i, stuff[i].length()-i);
area += Integer.parseInt(temp);
if (area >= 10)
{
carry = area/10;
holder[ARRSIZE - 1-i] = area%10;
area = 0;
}
carry = 0;
}
}
//TODO: Make int[] holder -> String[] result
//Take result String[] to future method
}
Что я пытаюсь сделать с этим кодом, так это прочитать последний элемент каждого элемента String [], превратить его в int, чтобы сложитьи сохраните окончательное число как String [] (результат) для последующей печати в будущем методе.Мне всегда было плохо с вложенными циклами, поэтому я думал, что эта путаница случится.До сих пор мне удалось разобраться в логике, в которой я успешно добавил крайний правый столбец и сохранил его в области, сохраняя при этом число.Оттуда я и потерян.