public class Return {
public static void main(String[] args) {
int answer = digit(9635, 1);
print("The answer is " + answer);
}
static void print(String karen) {
System.out.println (karen);
}
static int digit(int a, int b) {
int digit = a;
return digit;
}
}
创建一个程序,该程序使用名为数字的函数,该函数返回第n个值 整数参数右边的数字。 n的值应该是第二个参数。
例如:digit(9635, 1)
返回5
,digit(9635, 3)
返回6
。
答案 0 :(得分:17)
没有用勺子喂你代码:
第n位是(除以10 n 的余数)除以10 n-1
如果你想要一种迭代方法:
循环n次,每次分配数字变量将数字除以10的结果 在循环之后,第n个数字是将数字除以10的余数。
-
FYI余数运算符为%
,因此例如32 % 10 = 2
,整数除法为余数。
答案 1 :(得分:2)
static int dig(int a, int b) {
int i, digit=1;
for(i=b-1; i>0; i++)
digit = digit*10;
digit = (a/digit) % 10;
return digit;
}
答案 2 :(得分:1)
另一种方法是将数字转换为数组并返回第n个索引
static char digit(int a,int b)
{
String x=a+"";
char x1[]=x.toCharArray();
int length=x1.length;
char result=x1[length-b];
return result;
}
现在以这种方式从你的主方法运行
System.out.println("digit answer "+digit(1254,3));
<强>输出强>
digit answer 2
答案 3 :(得分:0)
将数字转换为字符串,然后使用 charAt ()方法。
class X{
static char digit(int a,int n)
{
String x=a+"";
return x.charAt(n-1);
}
public static void main(String[] args) {
System.out.println(X.digit(123, 2));
}
}
您可能需要仔细检查第n个位置是否在数字的长度范围内:
static char digit(int a, int n) {
String x = a + "";
char digit='\0' ;
if (n > 0 && n <= x.length()) {
digit = x.charAt(n - 1);
}
return digit;
}