在java中连接两个int

ahe*_*ang 5 java algorithm

是否有一种简单的方法,而不必使用java库来连接两个int?也许数学?

说我有9和10,然后我希望它是910,或224和225然后我希望它是224225.

Jer*_*emy 18

任何事都java.lang.*应该是公平的游戏......

int a = Integer.parseInt(Integer.toString(9) + Integer.toString(10));
Run Code Online (Sandbox Code Playgroud)

附录:

我不喜欢以下语法,因为运算符重载不像上面那样清楚地声明intent.主要是因为如果错误地取出空字符串,结果是不同的.

int a = Integer.parseInt(9 + "" + 10);
Run Code Online (Sandbox Code Playgroud)


Mar*_*iot 16

这将按预期返回一个整数,但仅在以下情况下有效b > 0.

int a = 224;
int b = 225;
int c = (int) Math.pow(10, Math.floor(Math.log10(b))+1)*a + b; // 224225
Run Code Online (Sandbox Code Playgroud)

只是一个快速的解释:这决定了数字的位数b,然后计算一个乘法因子a,使它在基数10中移动一个数字比b.

在这个例子中,b有3个数字,floor(log10(b))返回2(直观地做10^2=100,因为10^3 = 1000,我们介于225之间).然后我们计算乘法因子10^(2+1),这是1000.当我们乘以a1000时,我们得到224000.添加224000225产生所需的224225.

b == 0由于log10(0)未定义,因此失败.