【发布时间】:2021-12-31 17:58:08
【问题描述】:
大家好,我是 java 新手,我有一个问题。我接受一个String类型的数字,然后将其写入txt变量,然后覆盖并添加“\ n”,然后尝试将其转换为int类型,但是无论数字是什么,它总是结果是零。
BufferedReader in = new BufferedReader(new InputStreamReader(clientConn.getInputStream()));
String txt = in.readLine();
txt = txt + "\n";
int number = Integer.parseInt(txt);
如果我尝试运行包含这些代码行的单独类,则会引发错误。
线程“main”java.lang.NumberFormatException 中的异常:对于输入字符串:“1 "
我发送的任何号码都是如此。总是在int number = Integer.parseInt(txt); 线上发誓。
告诉我如何解决这个问题。
【问题讨论】:
-
为什么要在号码后面加上
\n? -
事实是,只有在移动到下一行时,我才能再次读取传入的数据,因为这段代码处于循环中并从 TCP 客户端接收数字。
-
但这与
txt = txt + "\n"有什么关系?试着去掉那行代码。 -
如果
txt = txt +" \ n "留在代码中,那么在执行int number = Integer.parseInt (txt);这行之后,number的值被传递给另一个类,如果我删除txt = txt +" \ n ",那么循环就接受数据,但不会将其传递给另一个类。 -
你最后的评论毫无意义。