[英]How to find the length of an integer in an array
我希望能够找到数组中某个值的长度。 我努力了:
String.valueOf(array[arrayValue])
但我无法在if语句中查看它是否<特定数字。 例如,我想看看手边的某个值的长度是否小于四。 我现在有这样的事情:
if(String.valueOf(array[arrayValue] < 4)){
//does something
}
但是它说由于某种原因我不能使用“ <”符号。 有谁知道我将如何成功做到这一点?
你想要的是
if(Integer.toString(array[arrayValue]).length()>4)
这从数组中获取arrayValue
th元素,将其转换为String
,找到长度,然后将其与4
进行比较。
您当前的代码是从数组中获取arrayValue
th元素,将其与4
进行比较,然后将比较结果true
或false
转换为String: "true"
或"false"
。 然后,它尝试将String
传递给if
子句,该子句仅使用布尔值,因此会引发错误。
k_g已指出未编译代码的原因。
但是,你的陈述
它说由于某种原因我不能使用“ <”符号
并非完全正确: String.valueOf(array[arrayValue] < 4)
完全有效,但是它返回一个String,并且不能作为if语句中的条件。
要计算整数的长度(我更喜欢说“宽度”),有两种方法:
更好的方法可能是这样的:
重复将给定值除以10,直到其降至1以下:
public static int getWidth(int value) { int i = 0; while (value > 0) { value /= 10; i++; } return i; }
它避免了int到字符串的转换,使其转换速度大约快5.6倍 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.