如何将这些方法设置为将数组中的最后一个数字递增和递减 1?爪哇

冰童军

对于这个项目,我正在创建数组,每个数组有 50 个元素,每个元素的值在 0 到 9 之间,并在加法、减法、乘法和除法中使用这些称为“BigIntegers”的数组。有一些较小的方法称为 increment 和 decrement,我无法弄清楚。这是我所做的代码...

public class BigInteger {   

    int[] BigInteger = new int[50];

    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    //x BigInteger(): creates a BigInteger of all 0's                x
    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   
    public BigInteger() {
        for (int i = 0; i < 50; i++) {
        BigInteger[i] = 0;
        }
    }

    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    //x BigInteger(n): creates a BigInteger the size of n            x
    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx    
    public BigInteger(int n) {
         for (int i = 49; i > 0; i--) {
            BigInteger[i] = n%10;
            n = n/10;
        }
        BigInteger[0] = n;
    }

    public int[] getBigInteger() {
        return BigInteger;
    }

    public BigInteger(BigInteger n) {
        for(int i = 0; i < 50; i++) {
            BigInteger[i] = n.getBigInteger()[i];
        }
    }

    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    //x print(): prints out each element of the BigInteger array     x
    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    public void print() {
        int index = 0;

        for (int i = 0; i < BigInteger.length; i++) { 
            if (BigInteger[i] == 0) { index = 0; }
            else { index = i; break; }
        }

        for(int i = index; i < BigInteger.length; i++) { 
            System.out.print(BigInteger[i] + " ");
        }   
    }

    public void decrement() {
        int last = BigInteger.length;
        for(int i = last; i < 50; i++) {
            if (i == 0) {  }
            else last = BigInteger[last] - 1;
        }
    }

    public static void main(String args[]) {
        BigInteger big = new BigInteger(50);
        BigInteger big2 = new BigInteger();
        BigInteger big3 = new BigInteger(602345812);
}

这些方法的功能是:

• void increment() --- 将调用对象的值增加 1

• void decrement() --- 将调用对象的值减 1

我花了很多时间试图找出这些看似简单的方法。有任何帮助或建议吗?谢谢我。

段错误

如果我很好地理解你的问题,你应该试试这个(@Andy Turner 和@Yang Li 的评论)作为起点:

public void increment() {
    for (int i = BigInteger.length - 1; i; i--)
      if (BigInteger[i] < 9) {
        BigInteger[i]++;
        for (int j = i + 1; j < BigInteger.length; j++)
          BigInteger[j] = 0;
        break;
      }
      else if (i == 0)
        // cannot increment 9
}

public void decrement() {
    for (int i = BigInteger.length - 1; i; i--)
      if (BigInteger[i] > 0) {
        BigInteger[i]--;
        for (int j = i + 1; j < BigInteger.length; j++)
          BigInteger[j] = 9;
        break;
      }
      else if (i == 0)
        // cannot decrement 0
}

这将增加/减少数组的最后一个int元素BigInteger,其中BigInteger.length - 1数组中最后一个元素的索引。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将目录中的最后一个数字加1?

如何删除数组中的最后一个逗号和空格?爪哇

如何将数组的最后一个元素设置为某个数字?

如何将1个数组的总数与另一个数组的总数相加

如何将一个数组从中间点连接到末端或末端-1?

检查数组1中的特定条件后,如何将元素从一个数组(数组1)添加到另一个数组(数组2)?

创建一个数字数组,这些数字在给定长度下加起来为1

从1个数字创建一个数组(递增)?

给定0和1的二进制矩阵。找到1的最长序列(按行或按列)。爪哇

c# - 我如何将八个数字“0”和“1”字符的数组转换为C#中的字节

awkArray [NR] = $ 0和awkArray [NR] = $ 1如何打印最后一个数字

如何将数字格式化为以逗号分隔的长度为 3 的块,最后 2 个块或最后一个块的长度可以为 2,但长度不能为 1

1列具有整数。另一个有一个整数列表。如何将数据帧转换为这些对的numpy rec数组?

我正在尝试将键码匹配到sent1Array。如何使forEach转到数组中的下一个数字?

即使我将 1 个数组的值存储到另一个数组中并将它们作为一个整体打印,但数组仍然打印最后一个值

显示一个反向数组?爪哇

如何将数字1显示为01以及如何将其递增

压缩5个for循环,将一个数组显示为1?

爪哇:排序基于与方法的indexOf另一个数组的数组

数组问题。爪哇

制作一个由数字1到10000填充的数组,然后将所有这些数字求和

如何将2个数字存储在1个字节的字符中?

如何在while循环中获取前一个数字并将其加倍?爪哇

如何将第二个TextBox中的Date设置为第一个TextBox的日期+ 1

如何将 Sting `8.1.009.125` 转换为 `double` 数组?爪哇

如何将嵌套数组与 Map 分开?- 爪哇

如何编写一个方法来返回数组中给定列的总和?爪哇

该代码被设置为在当前数字的右边打印最大的数字,对于最后一个数字则应该打印-1

将多个Hashmap合并为一个。爪哇