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