簡體   English   中英

不知道我的算法是否正確

[英]Can't figure out whether my algo is correct

我正在嘗試編寫一個將數字x和索引i作為參數的方法(學校...)。 我們希望我們的方法以十進制表示返回數字xi索引處的數字。 索引最后一位數為1 ,倒數。

static int k_eme(int x, int i) {

    for (int j = 2; j <= i; j++) {
        x /= 10;
    }
    return x%10;
}

public static void main(String[] args) {
    System.out.println(k_eme(2049, 4));
}

例如:

int number = 2048; 
int index = 1;

k_eme(number, index); // returns 8
k_eme(2189, 3); // returns 1

這是一個算法練習,所以盡量不要提供包含太多 Java 內置方法的答案。

如果x是 Java 中可接受的數字類型,那很好。

但是如果x是更大的數字,例如12345678910111213141516171819202122232425262728293031… (1000 位),則不能使用此算法。 要處理這個問題,您應該使用String數據類型,我建議使用以下算法。

    static char getDigit(String N, int d) {  
        return N.charAt(N.length() - d);  
    }

    static char getDigit(int N, int d) {
        String str = String.valueOf(N);
        return str.charAt(str.length() - d);  
    }

暫無
暫無

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

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