Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:Int数组,测量数组元素的长度_Java_Arrays - Fatal编程技术网

Java:Int数组,测量数组元素的长度

Java:Int数组,测量数组元素的长度,java,arrays,Java,Arrays,在Java中。假设您得到了以下数组。或者类似的东西 int[] anArray = {10, 20, 30, 40, 1000}; 是否有一种方法可以在数组[4]处获取数组元素的长度 我需要知道数组[x]是否=4。比如2004年、1000年或1968年 我该怎么做 您可以将元素转换为字符串并获取字符串的长度,或者可以测试其整数是否在1000和9999之间。您可以将元素转换为字符串并获取字符串的长度,或者如果它是整数,您可以测试它是否在1000和9999之间。将数组对象转换为字符串,并检查其长度

在Java中。假设您得到了以下数组。或者类似的东西

int[] anArray = {10, 20, 30, 40, 1000};
是否有一种方法可以在数组[4]处获取数组元素的长度

我需要知道数组[x]是否=4。比如2004年、1000年或1968年


我该怎么做

您可以将元素转换为字符串并获取字符串的长度,或者可以测试其整数是否在1000和9999之间。

您可以将元素转换为字符串并获取字符串的长度,或者如果它是整数,您可以测试它是否在1000和9999之间。

将数组对象转换为字符串,并检查其长度:

anArray[x].toString().length

将数组对象转换为字符串并检查长度:

anArray[x].toString().length

您可以将元素转换为字符串,然后查找字符串的长度


您还可以在while循环中使用重复的10除法来查找答案。

您可以将元素转换为字符串,然后查找字符串的长度


您也可以在while循环中使用重复的10除法来找到您的答案。

稍微有些古怪的方法:

int lengthOfElement4 = (int) Math.floor((Math.log(anArray[4]) / Math.log(10) + 1);

@马克的第二个选择可能会更快,尽管…

有点古怪:

int lengthOfElement4 = (int) Math.floor((Math.log(anArray[4]) / Math.log(10) + 1);
if (Integer.toString(anArray[x]).length() == 4) {
    // it's 4 long
}

@Mark的第二个选项可能会更快…

数组元素的长度是什么意思?数组元素的长度是什么意思?我怀疑编译器会喜欢这样。您不能取消对int的引用,而且这不是使用自动装箱的情况。我怀疑编译器是否会喜欢这样。您不能取消对int的引用,而且在这种情况下不会使用自动装箱。
if (Integer.toString(anArray[x]).length() == 4) {
    // it's 4 long
}