如何将四个随机生成的整数拼接成一个整数?
如何将四个整数拼接为一个整数
如果你的需求是把四个1位整数(其中num1为1-9的数字,num2、num3、num4为0-9的数字)拼接成一个四位数,比如将8、5、2、6拼接为8526,这里有两种简单的实现方式:
方法一:数学运算拼接
利用每个数字对应的位权(千位、百位、十位、个位),通过乘法和加法直接计算结果:
int num1 = 8; int num2 = 5; int num3 = 2; int num4 = 6; int result = num1 * 1000 + num2 * 100 + num3 * 10 + num4; System.out.println(result); // 输出8526
这种方法效率高,适合确定每个输入都是1位整数的场景。
方法二:字符串拼接转整数
先将每个整数转为字符串拼接,再转回整数,这种方法更灵活,哪怕输入数字是多位数也能适用:
int num1 = 8; int num2 = 5; int num3 = 2; int num4 = 6; String combinedStr = String.valueOf(num1) + num2 + num3 + num4; int result = Integer.parseInt(combinedStr); System.out.println(result); // 输出8526
关于你提供的代码片段
你给出的这段循环代码是用于提取整数的最后一位并移除该位的逻辑,和数字拼接的需求不匹配:
while (user > 0) { int digit = user % 10; user /= 10; return user; }
如果需要处理多位数拼接(比如num1可能是两位数或更多),可以先写一个辅助函数计算数字的位数,再通过位权计算拼接:
// 计算整数的位数 public static int getDigitCount(int num) { if (num == 0) return 1; int count = 0; while (num > 0) { count++; num /= 10; } return count; } // 多位数拼接示例 public static void main(String[] args) { int num1 = 12; int num2 = 3; int num3 = 45; int num4 = 6; int result = num1; // 依次拼接后续数字 result = result * (int)Math.pow(10, getDigitCount(num2)) + num2; result = result * (int)Math.pow(10, getDigitCount(num3)) + num3; result = result * (int)Math.pow(10, getDigitCount(num4)) + num4; System.out.println(result); // 输出123456 }
内容的提问来源于stack exchange,提问作者Dakota Kellogg
相关产品推荐
相关产品推荐

