返回数字的第 n 个数字

新手上路,请多包涵
public class Return {
    public static void main(String[] args) {
        int answer = digit(9635, 1);
        print("The answer is " + answer);
    }

    static void print(String karen) {
        System.out.println (karen);
    }

    static int digit(int a, int b) {
        int digit = a;
        return digit;
    }
}

创建一个程序,该程序使用名为 digit 的函数,该函数返回整数参数右侧的第 n 个数字的值。 n 的值应该是第二个参数。

例如: digit(9635, 1) digit(9635, 3) 5 6

原文由 Joey 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 356
2 个回答

不用勺子喂你代码:

第 n 位是 ( a 除以 10 b-1 ) 除以 10 后的余数。

int digit(int a, int b) {

return a / (int)Math.pow(10, b - 1) % 10;

}

查看 现场演示


如果您想要迭代方法:

循环b-1次,每次将 a 除以10的结果赋值给 a 变量。

循环后第n位为 a 除以10的余数。

int digit(int a, int b) {

while (--b > 0) {

a /= 10;

}

return a % 10;

}

查看 现场演示


关于Java的相关事实:

  • 模运算符 % 返回除法后的余数,例如 32 % 10 返回 2

  • 整数除法删除余数,例如 32 / 10 返回 3

原文由 Bohemian 发布,翻译遵循 CC BY-SA 4.0 许可协议

static int dig(int a, int b) {
    int i, digit=1;
    for(i=b-1; i>0; i++)
        digit = digit*10;
    digit = (a/digit) % 10;
    return digit;
 }

原文由 Arun Chandrasekhara Pillai 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏