我知道2389%10是9,但我怎么能创建一个带2个参数的方法?一个用于数字,另一个用于索引,并将返回索引处的值...
答案 0 :(得分:3)
您可以使用charAt()
方法为字符串执行此操作:
public static int getNthDigit(int n, int pos) {
return Character.getNumericValue(String.valueOf(n).charAt(pos))
}
小心:索引从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))
}
答案 1 :(得分:0)
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));
}