如何划分2个int数组?

时间:2016-02-01 19:38:47

标签: java arrays division

假设你在10岁。

你想要分割int [] a = new int [] {9,9};

by int [] b = new int [] {1,0,1};

两个数组中的每个元素都包含一个数字。

在纸面上,它看起来像99/101,这会给你一个重复的小数。

如何在不将数组转换/组合成int的情况下执行此操作?

3 个答案:

答案 0 :(得分:1)

如果数组很长,您可以使用BigInteger

首先,将数组转换为字符串并使用字符串构造BigInteger。 然后,使用两个BigInteger进行算术运算。

以下是将数组转换为BigInteger的代码。

public BigInteger convert2BigInteger(int[] arr) {
    StringBuilder sb = new StringBuilder();
    for(int v : arr) {
        sb.append(v);
    }
    return new BigInteger(sb.toString());
}

答案 1 :(得分:0)

   public double divideArrayContent(int[] a, int[] b) {
       int aT = 0;
       int bT = 0;
       for(int i = 0; i < a.length; i++) {
           aT += a[a.length - (i + 1)] * 10 ^ i;
       }
       for(int i = 0; i < b.length; i++) {
           bT += b[b.length - (i + 1)] * 10 ^ i;
       }
       return aT / bT;
   }

这应该有用,但我没有测试过。

答案 2 :(得分:0)

int []a = {1,2,3,4,5,6};
int c = 1;
int result = 0;
for(int i = a.length-1; i >= 0; i--){
    if(i == a.length-1){
        result += a[i]; 
    }else{
        c = c * 10;
        result += a[i] * c;
    }
}