Java如何实现数位分离
数位分离是指将一个整数中的每个数字分离出来,形成一个数组。Java实现该功能可以使用以下两种方法:
方法一:将整数转化为字符串,然后逐位遍历字符串将每个数字字符转化为数字,存入一个数组中。
public static int[] separateDigits(int number) {
String strNum = String.valueOf(number); // 将整数转化为字符串
int[] digits = new int[strNum.length()]; // 创建存储分离出来的数字的数组
for (int i = 0; i < strNum.length(); i++) {
digits[i] = Integer.parseInt(String.valueOf(strNum.charAt(i))); // 将每个数字字符转化为数字,存储到数组中
}
return digits;
}
方法二:利用数学运算对整数进行数位分离。通过对整数进行余数和除法运算可以得到该整数最后一位的数字以及除最后一位数字外剩余的部分。将获得的数字存储到数组中,然后再对剩余部分重复进行上述运算,直到剩余部分为0。
public static int[] separateDigits(int number) {
int[] digits = new int[String.valueOf(number).length()]; // 创建存储分离出来的数字的数组
int i = digits.length - 1; // 设置数组下标初始值
while (number > 0) {
digits[i--] = number % 10; // 获得最后一位数字,存储到数组中
number /= 10; // 去除最后一位数字,剩余部分进行下一次循环
}
return digits;
}
示例说明:
1、数位分离并求和
public static int sumDigits(int number) {
int sum = 0;
int[] digits = separateDigits(number); // 分离出来整数的每个数字 238 -> [2, 3, 8]
for (int digit : digits) {
sum += digit; // 对分离出来的数字求和
}
return sum;
}
2、将分离出来的数字倒序存储
public static int[] reverseDigits(int number) {
int[] digits = separateDigits(number); // 分离出来整数的每个数字 238 -> [2, 3, 8]
int[] reverseDigits = new int[digits.length]; // 创建存储倒序数字的数组
for (int i = 0; i < digits.length; i++) {
reverseDigits[i] = digits[digits.length - i - 1]; // 将分离出来的数字倒序存储
}
return reverseDigits;
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java如何实现数位分离 - Python技术站