在Java中提取数字无法按预期工作

n9vozmp4  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(108)

这个程序应该打印数字中的数字(单个数字)'

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

e0bqpujr

e0bqpujr1#

找到了!!信用哦上帝蜘蛛,tkausl
解决方案1:而不是使用胡萝卜字符

number = (number/(10^(power)));

使用数学幂函数。
解决方案二:
不要使用(number/(10 ^(乘方)),而只是除以10

相关问题