charAt() 方法如何处理从字符串中获取数字并将它们放入 Java 中的新字符串?
How does the charAt() method work with taking numbers from strings and putting them into new strings in Java?
public String getIDdigits()
{
String idDigits = IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1) + "";
return idDigits;
}
在这个简单的方法中,IDnum 是一个由数字组成的 13 位字符串,并且是一个 class 变量,给定的输出绝不是我所期望的。对于诸如 1234567891234 之类的 ID 号,我希望在输出中看到 14,但输出始终是一个三位数,例如 101。无论我使用什么 ID 号,它始终是一个以 10 开头的三位数.我以为使用空引号可以避免取Ascii值的问题,但我似乎还是出错了。有人可以解释一下 charAt() 在这个意义上是如何工作的吗?
你必须更明确地说明字符串连接,所以像这样解决你的语句:
String idDigits = "" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1);
添加 Java 个字符、短裤或字节的结果是一个整数:
试试这个。
public String getIDdigits()
{
String idDigits = "" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1);
return idDigits;
}
当你第一次添加一个空的时候,它会添加 char
就像 String
如果你把它放在最后它首先添加数字模式(ASCII)然后转换将把它转换成 String
.
您正在从 String
中获取 char
类型,然后使用 +
运算符,在这种情况下,它的行为是将 ASCII 数值相加。
例如,在您的代码中取字符'1'
,然后取字符'4'
IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1)
编译器将其解释为它的 ASCII 十进制等效项并添加那些
49 + 52 = 101
这就是您的 3 位数号码的来源。
通过在连接它们之前将它们转换回字符串来消除这种情况...
String.valueOf(<char>);
或
"" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1)
public String getIDdigits()
{
String idDigits = IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1) + "";
return idDigits;
}
在这个简单的方法中,IDnum 是一个由数字组成的 13 位字符串,并且是一个 class 变量,给定的输出绝不是我所期望的。对于诸如 1234567891234 之类的 ID 号,我希望在输出中看到 14,但输出始终是一个三位数,例如 101。无论我使用什么 ID 号,它始终是一个以 10 开头的三位数.我以为使用空引号可以避免取Ascii值的问题,但我似乎还是出错了。有人可以解释一下 charAt() 在这个意义上是如何工作的吗?
你必须更明确地说明字符串连接,所以像这样解决你的语句:
String idDigits = "" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1);
添加 Java 个字符、短裤或字节的结果是一个整数:
试试这个。
public String getIDdigits()
{
String idDigits = "" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1);
return idDigits;
}
当你第一次添加一个空的时候,它会添加 char
就像 String
如果你把它放在最后它首先添加数字模式(ASCII)然后转换将把它转换成 String
.
您正在从 String
中获取 char
类型,然后使用 +
运算符,在这种情况下,它的行为是将 ASCII 数值相加。
例如,在您的代码中取字符'1'
,然后取字符'4'
IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1)
编译器将其解释为它的 ASCII 十进制等效项并添加那些
49 + 52 = 101
这就是您的 3 位数号码的来源。
通过在连接它们之前将它们转换回字符串来消除这种情况...
String.valueOf(<char>);
或
"" + IDnum.charAt(0) + IDnum.charAt(IDnum.length() - 1)