Java 如何返回包含初始数字位数的数组
给定一个非负整数,我需要返回一个包含初始数位数的数组,因为初始数应该小于100000。 例如:Java 如何返回包含初始数字位数的数组,java,arrays,digits,Java,Arrays,Digits,给定一个非负整数,我需要返回一个包含初始数位数的数组,因为初始数应该小于100000。 例如: separateDigits(93) → {9, 3} separateDigits(125) → {1, 2, 5} separateDigits(732) → {7, 3, 2} 如何分隔数字?您需要创建一个数组,但首先需要知道数组的大小。然后需要用数字填充数组 public byte[] separateDigits(long n) { int digits = 1; for
separateDigits(93) → {9, 3}
separateDigits(125) → {1, 2, 5}
separateDigits(732) → {7, 3, 2}
如何分隔数字?您需要创建一个数组,但首先需要知道数组的大小。然后需要用数字填充数组
public byte[] separateDigits(long n) {
int digits = 1;
for(long m = n; (m /= 10) > 0; digits++);
byte[] ret = new byte[digits];
for(int i = digits - 1 ; i >= 0; i--, n /= 10)
ret[i] = (byte) (n % 10);
return ret;
}
//这可能会对您有所帮助
导入java.util.*;
公共类SeparaeDigits{
公共静态void main(字符串[]args){
int num=123;
独立数字(num);
}
公共静态void分隔数字(int num){
int i=0;
整数余数=0;
int[]arr=新的int[3];
while(num>0){
余数=num%10;
num=num/10;
对于(i=0;i仅使用int digit=value%10
您尝试了什么,遇到了什么问题?您知道如何编写函数,创建数组,除以10吗?Peter Lawrey,这是针对此问题预设的方法:public int[]separatedgits(int num){因此我不能使用byte[]或long n
//this might help you
import java.util.*;
public class SeparaeDigits {
public static void main(String[] args) {
int num =123;
seperateDigits(num);
}
public static void seperateDigits(int num){
int i=0;
int remainder =0;
int []arr = new int[3];
while(num>0){
remainder = num % 10;
num = num/10;
for(i =0; i<arr.length; i++){
arr[i]=remainder;
}
for(i =0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
}