我想分隔通过用户输入提供的int
值。例如,当输入153时,我要提取每个数字(3到5再是1,反之亦然),然后将所有数字都粘贴到int[]
中。
到目前为止,我已经使用了模运算符来提取最后一个数字,但是我仍然需要提取所有之前的数字,以便继续测试用户给出的int
是否自恋。 / p>
这样做的原因是为了可以测试用户是否输入了自恋号码。程序将根据输入内容返回true或false。
public class narc {
public static void main(String[] args){
Scanner myScan = new Scanner(System.in);
System.out.println("enter number: ");
int digit = myScan.nextInt();
String s1 = Integer.toString(digit);
System.out.println(narcNumber(digit));
}
public static boolean narcNumber(int number) {
System.out.println(number%10);
return false;
}
}
到目前为止,narcNumber(num)
仅返回给定数字的最后一位。
答案 0 :(得分:3)
int[] split = new int[s1.length()];
for (int i = 0; i < split.length; i++) {
split[i] = Character.getNumericValue(s1.charAt(i));
}
split
将包含输入数字的所有数字。
答案 1 :(得分:0)
如果您仍然想使用模数获取数字:
List<Integer> digits = new ArrayList<Integer>();
while(inputNumber > 0) {
currentDigit = inputNumber % 10;
digits.add(currentDigit);
inputNumber = inputNumber / 10;
}