因此,在我的在线课程中,它要求我编写一个程序,逐个打印任何5位数的整数,如下所示:
14325
将打印为
5
2
3
4
1
老师希望我们使用整数运算来实现这一点,并说有一种模式。
我在这里待了半个小时试图寻找答案,但是每个人似乎都没有找到我发现的整数运算。
我不是要求像这个问题的完整解决方案,只是要求有人请我指出正确的方向。非常感谢!
答案 0 :(得分:4)
打印最后一位数(模10),然后除以10.重复此操作,直到原始数字变为0。
int number = 14325;
while(number > 0) {
System.out.println(number % 10);
number /= 10;
}
答案 1 :(得分:1)
使用String.toCharArray
String number = 12345 + "";
char[] chars = number.toCharArray();
for(int i = chars.length - 1; i >= 0 ; i--){
System.out.println(chars[i]);
}
答案 2 :(得分:0)
确信你已经提交了你的作业,我想详细说明我的评论“如果你知道整数总是5位数,那么可以没有循环。”这里有:
if (number < 10000 || number > 99999) {
throw new IllegalArgumentException("Requiring five digits, got " + number);
}
System.out.println(number % 10);
System.out.println(number / 10 % 10);
System.out.println(number / 100 % 10);
System.out.println(number / 1000 % 10);
System.out.println(number / 10000 % 10);
如果number
为14325
,则会打印:
5
2
3
4
1
在这里尝试一点心灵阅读(当然不是我的家庭领域),老师谈到的'模式'可能是这样的,除以(除数)的数字为每个数字得到额外的0(你甚至可能会将第一行写为System.out.println(number / 1 % 10);
,如果你想让它适合模式,但实际上......)。所以没有设计模式或正则表达式模式,因为有些人可能已经解释了这个词。
编辑:最后一个语句中的% 10
是多余的。为了模式,我将它留在那里。