这个程序应该打印数字中的数字(单个数字)'
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number");
int number = sc.nextInt();
int Size = 0;
String Conversion = Integer.toString(number);
Size = Conversion.length();
int n = 0;
while (n <= Size){
int d = number%10;
int power = Size - 2;
number = (number/(10^(power)));
System.out.println(d);
n += 1;
}
}
}
'
真的很感谢任何人花时间来帮助我。谢谢
不知怎么的我得了193分。
而不是134
使用调试器给了我一些提示,特别是这个块
number = (number/(10^(power)));
'
对于第二次迭代,该值比预期值3高+4。
好的,在那个块上加上+4,得到1374
1条答案
按热度按时间e0bqpujr1#
找到了!!信用哦上帝蜘蛛,tkausl
解决方案1:而不是使用胡萝卜字符
使用数学幂函数。
解决方案二:
不要使用(number/(10 ^(乘方)),而只是除以10