правильный способ хранить большие числа в переменной

Я хотел бы поиграть с числами и, как бы элементарно я ни писал, я писал алгоритмы для последовательности Фибоначчи и путь грубой силы для нахождения простых чисел!

Я не программист, просто математик.

Тем не менее, проблема, с которой я часто сталкиваюсь в тишине, состоит в том, что длинные, длинные и двойные поплавки часто выходят из комнаты.

Если я хочу продолжить работу в JAVA, каким образом я могу создать свой собственный тип данных, чтобы у меня не было свободного места.

Концептуально, я подумал собрать 3 пары, вот так,

public class run {

    static double a = 0;
    static double b = 0;
    //static double c = 0;

    static void bignumber(boolean x) {

        if (x == true && a < 999999999) {
            ++a;

        } else if (x == true && a == 999999999) {
            ++b;
            a = 0;
        }
        System.out.print(b + "." + a + " \n");
    }

    public static void main(String[] args) {
        while(true) {
        bignumber(true);

        }
    }

}

Есть лучший способ сделать это,

Я бы хотел когда-нибудь сказать

mydataType Х = 18476997032117414743068356202001644030185493386634 10171471785774910651696711161249859337684305435744 58561606154457179405222971773252466096064694607124 96237204420222697567566873784275623895087646784409 33285157496578843415088475528298186726451339863364 93190808467199043187438128336350279547028265329780 29349161558118810498449083195450098483937752272570 52578591944993870073695755688436933812779613089230 39256969525326162082367649031603655137144791393234 7169566988069

или любой другой номер, найденный наэтот сайт

Я также пытался

package main;

import java.math.BigInteger;

public class run {
    BigDecimal a = 184769970321174147430683562020019566988069;
    public static void main(String[] args) {

    }

}

Но это все еще кажется вне диапазона

Ответы на вопрос(3)

Ваш ответ на вопрос