假设你在10岁。
你想要分割int [] a = new int [] {9,9};
by int [] b = new int [] {1,0,1};
两个数组中的每个元素都包含一个数字。
在纸面上,它看起来像99/101,这会给你一个重复的小数。
如何在不将数组转换/组合成int的情况下执行此操作?
答案 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;
}
}