我创建了一个JavaClass,用于进行加减乘除等操作。
数字的格式为(155^199 [+,-,,/] 555^669 [+,-,,/] ..... [+,-,*,/] x^n);
每个数字都存储在字节数组中,而字节数组最多可以包含66,442个元素。
例如:
(byte) array = [1][0] + [9][0] = [1][0][0]
(byte) array = [9][0] * [9][0] = [1][8][0][0]
如果数字太大(例如:999^999),我的类文件将无法正常工作。
我该如何解决这个问题以便在更大的数字之间进行加法运算?
当字节数组达到66,443个值时,VM会给出以下错误:
Caused by: java.lang.ClassNotFoundException。这实际上不是正确的错误描述。
这意味着如果我有一个包含66,443个值的字节数组,则该类无法正确读取。
解决方案:
使用多维字节数组来解决这个问题。
array{array, ... nth-array} [+, -, /] nth-array{array, ... nth-array}
只需要几秒钟就可以在大数字之间进行加法运算。
谢谢!
数字的格式为(155^199 [+,-,,/] 555^669 [+,-,,/] ..... [+,-,*,/] x^n);
每个数字都存储在字节数组中,而字节数组最多可以包含66,442个元素。
例如:
(byte) array = [1][0] + [9][0] = [1][0][0]
(byte) array = [9][0] * [9][0] = [1][8][0][0]
如果数字太大(例如:999^999),我的类文件将无法正常工作。
我该如何解决这个问题以便在更大的数字之间进行加法运算?
当字节数组达到66,443个值时,VM会给出以下错误:
Caused by: java.lang.ClassNotFoundException。这实际上不是正确的错误描述。
这意味着如果我有一个包含66,443个值的字节数组,则该类无法正确读取。
解决方案:
使用多维字节数组来解决这个问题。
array{array, ... nth-array} [+, -, /] nth-array{array, ... nth-array}
只需要几秒钟就可以在大数字之间进行加法运算。
谢谢!
OutOfMemoryError
或其他错误? - Jesper