Вообще говоря, реализация большого количества осуществляется двумя методами: Biginteger и Bigdecimal. Эти два метода представляют собой неизменную произвольную точность целых числа и неизменные подписанные произвольные десятичные числа (числа с плавающей запятой). В основном используется в высоких расчетах. Эти два класса делают высокие операции в Java простыми. Тем не менее, эта статья не вводит крупные операции в Java с помощью двух вышеупомянутых методов.
Основная идея заключается в том, что поместите два числа в строку, затем выберите каждое число, поместите его в массив, запустите расчет из последнего бита, вычислите добавление и определите, переносится ли перенос. Перенос - это предыдущий бит +1. Если длина превышает, скопируйте его в новый массив.
Код заключается в следующем:
открытый класс bigintadd {private int [] array; // объявить массив // функция для расчета добавления больших чисел общедоступной статической строки BigAdd (bigintadd fisrtnum, bigintadd secondnum) {String result = ";"; ложно ложно = fals null; // поместить более длинную строку в массив арсионов, потому что результат расчета следует помещать в массив арайрона if (fisrtnum.instance (). Length> = secondnum.instance (). Length) {arrayone = fisrtnum.instance (); arraytwo = secondnum.instance (); secondnum.instance ();; arraytwo = fisrtnum.instance ();} для (int i = 0; i <arraytwo.length; i ++) {if (arrayone [i] + arraytwo [i] <10) {// Когда нет переноса, arrayone [i] = arrayone [i] <10) (arrayone [i] + arraytwo [i]> = 10) {// arrayone [i] = arrayone [i] + arraytwo [i] - 10; if ((i + 1) <arrayone.length) {arrayone [i + 1] = Arrayone [i + 1] + 1; // Добавить в следующем. arraythree falg = true; arraythree = new int [arrayone.length + 1]; System.ArrayCopy (Arrayone, 0, ArrayThree, 0, Arrayone.Length); ArrayThree [Arrayone.length] = 1; // Присвоение наивысшего бита ArrayThree, эквивалентное 1 в переносе}}}}}} // Splt AllmeRy in arrayThre, Equivalsy to 1 в переносе}}}}}} // Разделил Allmenthry in ArrayThree in Elemestmes in ArrayThree in Elemestmes in ArrayThree in ar -ytments in strame in ar -in ar {for (int i: arraythree) {result += i;}} else {for (int i: arrayone) {result += i;}} // Обратить результат и вернуть новую stringbuffer (result) .reverse (). toString ();} // инициализируйте метод Array Private intect () rate array; {StringBuffer sb = new StringBuffer (num); string string = sb.reverse (). ToString (); // реализовать инверсию строки для облегчения массива вычислений = new int [string.length ()]; // преобразовать строку в массив для (int i = 0; i <string.length (); i ++) {array [i] = 0; i + 1));}} public static void main (string [] args) {string result = bigintadd.bigadd (new bigintadd ("521111111"), new bigintadd ("4099999999"); System.out.println (result);}}результат:
Суммировать
Выше приведено все содержание этой статьи о программировании Java для реализации двух больших примеров кода. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!