我有一个方法,我有兴趣知道它实际上是如何工作的。我在网上搜索过,但没有结果。使用此方法时,会将输入的整数的第一个数字返回到数组中。
令我困惑的是除法 AND 运算符。我知道该运算符将左侧的操作数与右侧的运算符相除,并将结果应用于左侧。
方法如下:
public static int firstDigit(int index)
{
while (index > 9)
index /= 10;
return (index);
}
在我的程序中,当输入一个整数(例如 100)时,它会读出数字 1,作为输入整数的第一个数字。
这个答案不应该是 10 吗,因为索引 = 100/= 10 = 10?
抱歉,如果我做错了,我是新来的,在编程方面,在问这个问题之前我做了相当多的研究。
最佳答案
shouldn't this answer be 10, because index = 100 /= 10 = 10?
没有。 10 比 9 大,所以再除一次。
这里的关键部分是 while
循环。上面的函数中,写的时候没有括号,但也可以改写为
public static int firstDigit(int index)
{
while (index > 9)
{
index /= 10;
}
return (index);
}
我不会详细解释 while 循环是什么,但它基本上会在条件为 true 时重复该过程。
因此,在 100 的情况下,它执行以下操作:
“指数大于9吗?”是的。将索引设置为索引/10。 (索引现在等于 10)。 “指数大于9吗?”是的。将索引设置为索引/10。 (索引现在等于 1)。 “指数大于9吗?”编号 返回索引。 (1).
对于 99,它执行以下操作:
“指数大于9吗?”是的。将索引设置为索引/10。 (指数现在等于 9.9,四舍五入为 9)。 “指数大于9吗?”编号 返回索引。 (9).
关于java - 返回数组中整数的第一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25705441/