在Java中,如何验证位于某个位置的大数字内的整数值是否为某个值?

在Java中,如何验证位于某个位置的大数字内的整数值是否为某个值?,java,Java,我到处搜索,发现了不同的差异。但这两种方法似乎都不适用于我:(那么在Java中,如何检查大整数的某个位置的值呢?我想进行一次检查,以确保任何数字(如678954)中的第一个位置的值为4。有什么内置Java类来检查某个位置内整数的值?我假设有内置的类似.charAt的东西?如b下面,我想确保整数中的第一个位置是“0”。如果我之前没有回答这个问题,请原谅。如果是这样,你能在Stackoverflow中发布它的链接吗?哦,我看到了Character.getNumericValue的一些内容,我尝试了一

我到处搜索,发现了不同的差异。但这两种方法似乎都不适用于我:(那么在Java中,如何检查大整数的某个位置的值呢?我想进行一次检查,以确保任何数字(如678954)中的第一个位置的值为4。有什么内置Java类来检查某个位置内整数的值?我假设有内置的类似.charAt的东西?如b下面,我想确保整数中的第一个位置是“0”。如果我之前没有回答这个问题,请原谅。如果是这样,你能在Stackoverflow中发布它的链接吗?哦,我看到了Character.getNumericValue的一些内容,我尝试了一下,得到了相同的“int不能被取消引用”错误

如果(getEmployeeId().charAt(0)='0')

干杯

String str = Integer.toString(getEmployeeId());
if(str.charAt(str.length() - 1) == '0')
或者,用mod

if (getEmployeeId % 10 == 0)

您可以运用数学技能,使用
/
%
检查数字的位数,而无需将其转换为字符串:

if (num % 10 == 4) {
    // The last digit is 4
}

if ((num/1000) % 10 == 7) {
    // Digit at position 4 is 7
}

其思想是通过将数字除以十的幂来“移位”十进制表示形式,然后通过计算除以十后的余数得到最后一位数字。

如果我理解正确,请查看@Louis Wassermans的答案。您需要先将int转换为字符串,以便使用charAt()检查值。我认为charAt()不适用于int。

您的问题是,在java中,整数是以二进制形式存储的。例如,数字678954将是10100101110001010

如您所见,101001011110000101010中没有字符“4”。您应该改为将整数转换为字符串,以便对其执行字符串操作

一种简单的方法是首先使用Integer.toString(aInt)将整数转换为字符串

尝试从更改代码


如果(getEmployeeId().charAt(0)='0')


if(Integer.toString(getEmployeeId()).charAt(0)='0')

只需将int转换为字符串(以10为基数)并使用chatAt
int
是一种基本类型而不是
它没有方法,您可以执行
整数i=新整数(int\u值)
如果您需要访问
java.lang.Integer
中定义的方法。好的,谢谢Louis。好的,唯一的方法是将其转换为字符串并使用length类验证计数,很有趣。好的,-1”我假设是因为“length”类不计算“零”位置?那么-1将其设置为零位置boss?您询问了最后一个字符。字符串从左到右为零索引,因此最后一个字符位于
str.length()-1
。好的,知道了。基数是10。最后一个位置是9。这就是负1的位置@。好的,我现在知道了,我就用这个。谢谢路易斯!+1用简单的方法做这件事(不做字符串转换).好的,谢谢。我将给出这个答案。.因为它将帮助其他人了解你如何描述它。非常感谢!