例如,假设用户输入:2314.将每个数字放在数组的自己的字段中的最快方法是什么?如何隔离int中的每个数字并将其放入数组中?
我试图转换成一个字符串,然后隔离每个数字作为字符,但我不知道如何将它从一个字符转换为一个int。
例如,假设用户输入:2314.将每个数字放在数组的自己的字段中的最快方法是什么?如何隔离int中的每个数字并将其放入数组中?
我试图转换成一个字符串,然后隔离每个数字作为字符,但我不知道如何将它从一个字符转换为一个int。
String#toCharArray()
方法将字符串转换为char数组。int[]
。记住,转换到char
是int
棘手。你不能只是做一个typecast。那会给你ASCII码的编号。您可以使用下面的代码转换从char
到int
:
char ch = '3';
int chToInt = ch - '0';
另一种方法是使用一个ArrayList
。并做整数除法和模数操作,得到每个单独的数字,并将其加到ArrayList
。
2314/1000 = 2 // First digit (add to ArrayList)
2314 % 1000 = 314 // This is the new number
314/100 = 3 // Add this to ArrayList
314 % 100 = 14 // This is the new number
// Proceed like this
您需要找到一种方法来编写上述步骤的loop
。
int number = 1234;
int array[] = new int[String.valueOf(number).length()];
for (int i = 0; number > 0; i++) {
array[i] = number % 10;
number = number/10;
}
打印整数按相反的顺序(LSB到MSB)
while(a > 0)
{
arr[i] = a%10;
a = a/10;
}
试试这个:
int[] nums = new int[input.length];
int i = 0;
for (String c : input.split("(?<=.)")
nums[i++] = Integer.parseInt(c);
分裂正则表达式的关键是:这是一个 “向后看” 的任何字符,在每个字符后都会导致分裂。
如果您简单地将其分割为空白,即str.split("")
,则结果数组的第一个元素中有空白。
我猜〜OP想填充一个int数组。顺便说一句,感谢留下我关于str#split(“”),它在索引0处产生一个空字符串。:) – PermGenError
尝试这样
String str="2314";
int[] arr=new int[str.length()];
for(int i=0;i<arr.length;i++){
arr[i]=Integer.parseInt(str.substring(i,i+1));
}
一些事情“这是自己的领域数组中”的意思? – rahulserver
显示你的努力之前问题将被关闭.. – Maroun
我已经尝试转换成一个字符串,然后隔离每个数字作为字符,但我不知道如何将它从一个字符转换为一个int。 – entropy