不使用系统自带的BigInteger如何实现大整数相减
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"不使用系统自带的BigInteger如何实现大整数相减",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"不使用系统自带的BigInteger
千家信息网最后更新 2025年12月03日不使用系统自带的BigInteger如何实现大整数相减
本篇内容主要讲解"不使用系统自带的BigInteger如何实现大整数相减",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"不使用系统自带的BigInteger如何实现大整数相减"吧!
第一道题目: 字符串分割,不准使用系统自带的分割函数。
public class Myspilt { public static void main(String[] args) { String source = "abcdabeefabfgeeabcfffdsfsa"; // abcdabeefabfgeeabcfffdsfsa String target = "ab"; myspilt(source, target); } public static void myspilt(String source, String target) { char[] sourceCharArray = source.toCharArray(); char[] targetCharArray = target.toCharArray(); StringBuffer stringBuffer = new StringBuffer(); List result = new ArrayList<>(); for (int i = 0; i < source.length(); i++) { int j = 0; for (; j < target.length() && i + j < source.length(); j++) { if (sourceCharArray[i + j] != targetCharArray[j]) { break; } } if (j == targetCharArray.length) { if (stringBuffer.length() > 0) { result.add(stringBuffer.toString()); stringBuffer.setLength(0); } i = i + j - 1; } else { stringBuffer.append(sourceCharArray[i]); } } if (stringBuffer.length() > 0) { result.add(stringBuffer.toString()); } System.out.println("end"); }} 第二道题目: 大整数相减,不准使用系统自带的BigInteger 来计算。
class App1 { // 计算 a - b public static void main(String[] args) { String a = "454656875457421545474578457"; String b = "12454578787878454744545454578454578474516938271458457214"; mySubtract(a, b); String a1 = "1000000000000000000"; String b1 = "999999999"; mySubtract(a1, b1); } public static void mySubtract(String a, String b) { BigInteger a1 = new BigInteger(a); BigInteger b1 = new BigInteger(b); System.out.println(a1.subtract(b1).toString()); boolean altb = false; if (a.length() < b.length() || (a.length() == b.length() && a.compareTo(b) < 0)) { altb = true; String tmp = a; a = b; b = tmp; } boolean borrow = false; StringBuilder sb = new StringBuilder(a.length()); for (int i = a.length() - 1, j = b.length() - 1; i >= 0; i--, j--) { char char1 = a.charAt(i); char char2 = '0'; if (j >= 0) { char2 = b.charAt(j); } if (borrow) { char1--; } if (char1 < char2) { borrow = true; sb.append(char1 + 10 - char2); } else { borrow = false; sb.append(char1 - char2); } } String result = sb.reverse().toString(); result = result.replaceAll("^[0]+", ""); if(result.length() == 0){ result = "0" ; } if (altb) { result = "-" + result; } System.out.println(result); }}到此,相信大家对"不使用系统自带的BigInteger如何实现大整数相减"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
系统
整数
内容
题目
学习
实用
更深
一道
兴趣
函数
字符
字符串
实用性
实际
操作简单
方法
更多
朋友
网站
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件测试前检查数据库
教育网dns服务器地址
日喀则住宿软件开发
winxp访问sql数据库
db2数据库解除死锁
重庆服务器续保调试
网络安全宣传大使
绍兴万维网络技术有限公司
我的世界服务器2b2t的端口
姬三国无法连接服务器
数据库对于电子商务的重要性
数据库查询字符串
阿利普利斯数据库
与网络技术有关的工作
纸上喵酱爱画画之网络安全小报
全球地理数据库分享
数据库二级联动
东数西算服务器概念股
郑州点创网络技术有限公司
网络安全知识板报的作用
游戏服务器网络延迟怎么优化
考勤数据库已满
中国数据库检索结果包括哪些内容
derby数据库连接
福山区app定制软件开发公司
无线网络技术的发展历程
深刻理解网络安全意识
周村客户办公crm软件开发
各类型数据库语句通用吗
苏州商城软件开发需要多少钱