该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
说明一下 顺序是从左往右 第一个数字是0位 就像数列一样
public class NPalindrome {
public static int numDigits(int n) { //先是按题目要求 求出这个数有几位
int a = 1;
for (int i = 10; i < n; i = i * 10) {
a++;
}
return a;
}
public static int getDigit(int n, int index){
if (index < 0) { //也是题目要求 index小于0 就输出0位的数
index = 0;
}
for(; index < numDigits(n)-1; index++ ){ //问题在这里 想来想去都该是对的啊
n = n / 10; //但是当index为0或者1的时候 就是不对 比1大的都对
}
return n % 10;
}
public static void main(String[] args) { //main方法供参考啦
System.out.println(numDigits(7));
System.out.println(numDigits(14));
System.out.println(numDigits(1234));
System.out.println("----------------");
System.out.println(getDigit(1234, 0));
System.out.println(getDigit(1234, 1));
System.out.println(getDigit(1234, 101));
System.out.println(getDigit(1, 8));
System.out.println(getDigit(1234567, 5));
}
}