我使用Java编程并希望将int转换为数组。例如,我想将122转换为{1,2,2}。你知道这是如何工作的吗?提前致谢。我不被允许将其转换为字符串。
答案 0 :(得分:3)
以下是不使用Math
类
import java.util.Arrays;
class int_to_array
{
public static void main(String arg[])
{
int number = 122;
int length=0;
int org=number;
while(org!=0)
{
org=org/10;
length++;
}
int[] array = new int[length];
for(int i = 0; i < length; i++) {
int rem = number % 10;
array[length - i - 1] = rem;
number = number / 10;
}
System.out.println(Arrays.toString(array));
}
}
答案 1 :(得分:2)
以下示例使用纯算术方法(不将数字转换为字符串):
int number = 122;
List<Integer> digitList = new LinkedList<>();
while(number > 0) {
int d = number % 10; //get last digit
digitList.add(0, d);
number = number / 10; //omit last digit
}
Integer[] digits = digitList.toArray(new Integer[0]);
System.out.println(Arrays.toString(digits));
答案 2 :(得分:1)
这最终会陷入无休止的循环 - 为什么呢?
int input = readInt("Bitte geben Sie eine positive Zahl ein:");
while(input < 0) {
input = readInt("Bitte geben Sie eine positive Zahl ein:");
}
int number = input;
int length = 0;
int org = number;
while(org != 0) {
org = org / 10;
length++;
}
int[] inputArray = new int[length];
int i = 0;
while(i < inputArray.length) {
int rem = number % 10;
inputArray[length - i - 1] = rem;
number = number / 10;
i++;
}
String output = "{";
i = 0;
while(i < inputArray.length) {
output += inputArray[i];
if(i < inputArray.length-1) {
output += ", ";
}
i++;
}
output += "}";
System.out.print(output);