[英]Can't figure out whether my algo is correct
我正在嘗試編寫一個將數字x
和索引i
作為參數的方法(學校...)。 我們希望我們的方法以十進制表示返回數字x
的i
索引處的數字。 索引最后一位數為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.