- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人告诉我必须编写一个 BigInteger 类,我知道有一个类,但我必须编写自己的类。我将采用整数或字符串并将它们转换为数组来存储它们。从那里我将允许对数字进行加法、减法和乘法。我让它获取整数和字符串并制作数组,效果很好。我对其余的有问题。
对于添加,我尝试制作一些东西来检查数字类型数组的大小,然后设置较小和较大的值。从那里开始,我让它循环,直到它到达较小的末尾,并且当它循环时,它将数组的该部分的数字作为两个数字并将它们相加。现在这是可以的,直到它们大于 10,在这种情况下我需要结转一个数字。我想我在某个时候也有这样的工作。
请记住,我的 BigInt 有两件事:数字数组和符号整数(1 或 -1)。
所以在这种情况下,我在添加正确且符号正确时遇到问题。与减法相同。
至于乘法,我完全迷失了方向,甚至没有尝试过。下面是我尝试制作的一些代码:(添加函数),请帮助我。
public BigInt add(BigInt val){
int[] bigger;
int[] smaller;
int[] dStore;
int carryOver = 0;
int tempSign = 1;
if(val.getSize() >= this.getSize()){
bigger = val.getData();
smaller = this.getData();
dStore = new int[val.getSize()+2];
if(val.getSign() == 1){
tempSign = 1;
}else{
tempSign = -1;
}
}else{
bigger = this.getData();
smaller = val.getData();
dStore = new int[this.getSize()+2];
if(this.getSign() == 1){
tempSign = 1;
}else{
tempSign = -1;
}
}
for(int i=0;i<smaller.length;i++){
if((bigger[i] < 0 && smaller[i] < 0) || (bigger[i] >= 0 && smaller[i] >= 0)){
dStore[i] = Math.abs(bigger[i]) + Math.abs(smaller[i]) + carryOver;
}else if((bigger[i] <= 0 || smaller[i] <= 0) && (bigger[i] > 0 || smaller[i] > 0)){
dStore[i] = bigger[i] + smaller[i];
dStore[i] = Math.abs(dStore[i]);
}
if(dStore[i] >= 10){
dStore[i] = dStore[i] - 10;
if(i == smaller.length - 1){
dStore[i+1] = 1;
}
carryOver = 1;
}else{
carryOver = 0;
}
}
for(int i = smaller.length;i<bigger.length;i++){
dStore[i] = bigger[i];
}
BigInt rVal = new BigInt(dStore);
rVal.setSign(tempSign);
return rVal;
最佳答案
关于java - BigInteger 家庭作业需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4988759/
我的家庭作业有问题。我不要求任何代码。我所要求的只是关于如何实现作业的某些部分的一些建议。 分配如下:N 名玩家(n 由用户指定)和一个带有字母的“框”(A-Z,未指定字母数或如问题中所述:无限制)。
我需要能够在不使用任何外部java函数或库的情况下执行1938757289258398239399949292934/14583949053930202。我将号码的每个数字存储在一个链接列表中。我还可
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
大家好,我还有另一个作业问题。我必须编写一个客户端和一个服务器程序,以便服务器(具有共享内存和信号量)可以与客户端进行通信。客户端从标准输入获取数据并将其发送到服务器,服务器对其进行排序并将其发送回。
目前它将构建并运行。但我的问题是,当我尝试调用指针函数时,它不会打印出主函数中的第一个打印语句。我的最终目标是让它像 f() 从 1-36 的值表一样打印。在这几行代码中使用 & 和 * 是家庭作业的
我已将我的数组大小设置为 20(假设它计数为 0,我将其设置为 19)。我将 for 循环设置为仅在 gradeCount using namespace std; //Variables ////
我有一个 C++ 作业要在接下来的几周内完成。任务是 读取一行包含 0 到 89 之间的 3 个分数的输入,并从同一行读取一个名字。 将这些分数转换为分数,并根据每个学生的分数给他们打分。 我的第一次
我的代码中不断出现这 2 个错误 In function 'int main()':error: invalid initialization of non-const reference of ty
我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术。 这是我的C程序 #include #include int main(int argc, char **argv) {
使用 Python,如何在给定起始行号和结束行号的情况下打印文本文件的行? 我想出了一个函数,但这行不通。 def printPart(src, des, varFile): returnLi
...所以我修复了一下,但它现在说...加速测试:程序跨越时间限制...持续时间:5 秒!(限制 8 秒)!...如果有人有任何想法,这是我的代码...... #ifndef __PROGTEST__
所以基本上我在这个作业中遇到问题 5,http://www.student.cs.uwaterloo.ca/~cs136/assignments/a5/ 我们基本上给出了类似于 Scheme 列表函数
好吧,我正在编写一个程序,它将运行通过网格并找到腔室。对于每个白色的腔室,它都填充一种颜色。只要该点旁边的空白区域也是白色,它就会继续填充颜色,直到该区域被墙隔开。然后它继续扫描,直到找到一个新的白色
我的作业涉及 Big O 分析,我想我已经掌握了它,但我不是 100% 确定。你们这些可爱的人介意看一看并告诉我我是否在正确的轨道上吗? 作业如下。对于问题1和3,我的分析和答案在右边,在//标记之后
我有一项家庭作业要求我: Write a method sort(int[] arr) that takes an integer array and uses a method from a pre
我正在尝试学习在 Backtrack Linux 上利用简单的缓冲流技术。 这是我的C程序 #include #include int main(int argc, char **argv) {
我得到一个 Char 数组,必须将其转换为 Moves(如下所示) data Move = N | S | W | E | X newtype Moves = Moves [Move] createM
这是作业逐字记录: 1.) Write a Java program that is a TCP server that returns a HTTP response to a browser th
我需要验证我的表单信息并发送确认页面。 这是我尝试过的方法,但没有用。有没有办法将两者结合起来? 这验证所有字段都已填写: 这指向确认页面: 最佳答
我正在尝试使用 FlowLayout 创建一个内部插入了两个 JPanel 的 JFrame。我在一个单独的文件中初始化了框架,但这是我被调用的内容 public class FlowInFlow e
我是一名优秀的程序员,十分优秀!