Welcome to the Ranch

Ryan Florida wrote: . . . if we use chars it'll run faster and use less memory. . . .
That sort of advice is usually misguided. When you can pay $100 for enough memory to store every person’s name on earth, you needn’t worry about 25
ints. Anyway, all the actual arithmetic is done with
ints.
Why are you using Character.digit()? If you are working in decimal, you can use
c - '0' where
c is a
char between 0 and 9. It won’t work for other number bases. You have to add the '0' after you have finished to get it back to a
char.
It is confusing when you have variables called int11 etc. Get them spread out, one declaration per line, with spaces on each side of your binary operators. You never
Get a pencil and paper and see how you add to large numbers, going from right to left. Note what the value of carry is after each column.
No, forget the bl**d*
chars. It is just causing you confusion. If you are worried about memory footprint, change your array to a
byte[]. Or use the full width of each
int and get 225 decimal digits into the length of your array!
If you have used the paper and pencil, you will see you need
two new variables. There is a sum and a carry. You get from the addition to sum and carry with judicious use of the / and % operators, remembering their
priorities, and putting () in the appropriate locations. You will also know whether you require the value of any of those variables for the next iteration of the addition. If you ever do, then you would have to make sure that value is still in scope and retained until your next column.
Get that lot working before you try subtraction!