我创建了一个整数,我必须向后打印出值。因此,如果我的号码是12345,则必须打印:
5
4
3
2
1
数字必须单独排列:
System.out.println(number.nextDigit());
每个方法都有一个方法nextDigit();
,它从最后一个返回下一个数字,它必须返回一个不是char或字符串的整数。
任何帮助?
这是我的代码:http://pastebin.com/xrpKZixE
答案 0 :(得分:4)
与可能包含多个字符的字符串不同,int
代表一个数字。
使用int
解决此问题的诀窍是应用%
和/
运算符:通过num % 10
,您获得最后一位数字;通过num / 10
,您将最后一位数字删除。
while (num != 0) {
int lastDigit = num % 10;
num /= 10;
System.out.println(lastDigit);
}
答案 1 :(得分:2)
可能最容易转换为String,并从那里开始:
String digits = String.valueOf(number);
char thirdDigit = digits.charAt(2);
int thirdDigitAsNumber = Integer.parseInt(digits.substring(2,3));
答案 2 :(得分:1)
以上答案都很好。如果我正确理解你的问题,你也可以使用递归方法从最后一位数字开始打印你的数字这里是你可以使用的递归方法:
public static void writeVertical(int number)
{
if(number <10)
System.out.println(number);
else
{
System.out.println(number%10);
writeVertical(number/10);
}
}