我需要使用 BufferedReader 读取文件,在第二行我知道总会有 2 个整数:例如 456 666;但我不知道它们将有多少位数字,因此在使用 BufferedReader 提取行(字符串类型)后,我逐个读取该字符串的字符以获取数字并将它们添加到字符数组中。当我拥有所有数字时,我用 '\0' 填充数组 示例:
array[0] = '4'
array[1] = '5'
array[2] = '6'
array[3] = '\0'
array[4] = '\0'
and so on
现在我想把这个数组变成一个整数。 我尝试首先将此数组转换为字符串,然后应用 Integer.parseInt 但我不起作用。我不知道如何解决这个问题。有什么帮助吗?
最佳答案
你不能将数组转换为字符串...但是如果你使用空格而不是你可以这样做: \0
作为填充符,那么
int i = Integer.parseInt(String.valueOf(array).trim());
关于注释 - 很酷,trim()
也消除了尾随 0x0
:
public static void main(final String[] args) {
char[] chars = new char[5];
chars[2] = '9';
System.out.printf("Original length: %d%n",String.valueOf(chars).length());
System.out.printf("Trimmed length: %d%n",String.valueOf(chars).trim().length());
System.out.printf("Parsed: %d%n",Integer.parseInt(String.valueOf(chars).trim()));
}
关于Java 数字字符数组转整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962557/