簡體   English   中英

找到數字的第n位數

[英]Find the n-th Digit of a Number

我知道2389%10是9,但我怎么能創建一個帶2個參數的方法呢? 一個用於數字,另一個用於索引,並將返回索引處的值...

您可以使用charAt()方法為字符串執行此操作:

public static int getNthDigit(int n, int pos) {
    return Character.getNumericValue(String.valueOf(n).charAt(pos))
}

注意 :index從0開始。這意味着getNthDigit(1234,2)將返回3

在查找之前,您可以確保pos號在范圍內:

public static int getNthDigit(int n, int pos) {
    String toStr = String.valueOf(n)
    if (pos >= toStr.length() || pos < 0) {
        System.err.println("Bad index")
        return -1
    }
    return Character.getNumericValue(toStr.charAt(pos))
}
public static int getDigitAtIndex(int numberToExamine, int index) {
        if(index < 0) {
            throw new IndexOutOfBoundsException();
        }
        if(index == 0 && numberToExamine < 0) {
            throw new IllegalArgumentException();
        }
        String stringVersion = String.valueOf(numberToExamine);
        if(index >= stringVersion.length()) {
            throw new IndexOutOfBoundsException();
        }
        return Character.getNumericValue(stringVersion.charAt(index));
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM