gpt4 book ai didi

java - BufferedReader 包含换行符,无法将字符串解析为数字

转载 作者:行者123 更新时间:2023-12-01 04:26:00 24 4
gpt4 key购买 nike

这是我用来简化使用 BufferedReader 获取输入的方法,我的输入是“10 12\n”,代码的其余部分在 Integer.parseInt(//return value) 中使用此函数的返回值 并且能够使用值“10”来执行此操作,但是它会收到值为 12 的 NumberFormatException,因为包含换行符。

当我专门在 append() 之前放置 if 语句时,我不明白它是如何被包含在内的。

private static String getInput(BufferedReader br) {
StringBuilder sb = new StringBuilder();
char x = 0;
try {
x = (char) br.read();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while (x != ' ' && x != '\n' && x != -1) {
if (x != ' ' && x != '\n' && x != -1)
sb.append(x);
try {
x = (char) br.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return (sb.length() == 0) ? null : sb.toString();
}

最佳答案

将其全部读入字符串,然后调用trim(),然后解析该字符串。

或者,您可以使用 Character.isLetterOrDigit(x) 来验证您的输入 char x

关于java - BufferedReader 包含换行符,无法将字符串解析为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18495554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com