“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:"&引用;(我输入了数字,但它似乎读取了一个空字符串)
本节中有一些错误:“线程中的异常”;“主要”;java.lang.NumberFormatException:对于输入字符串:"&引用;(我输入了数字,但它似乎读取了一个空字符串),java,exception,numberformatexception,Java,Exception,Numberformatexception,本节中有一些错误: BufferedReader cin=新的BufferedReader(新的InputStreamReader(System.in)); 字符串faaltu=cin.readLine(); 字符串inp=cin.readLine(); 字符串[]部分=inp.split(\\s”); 对于(int k=0;k
BufferedReader cin=新的BufferedReader(新的InputStreamReader(System.in));
字符串faaltu=cin.readLine();
字符串inp=cin.readLine();
字符串[]部分=inp.split(\\s”);
对于(int k=0;k
我提供了以下信息:
2
4 12345
3 1234
以下是完整的代码:
import java.util.*;
导入java.lang.*;
导入java.io.*;
/*只有当类是公共的时,类的名称才必须是“Main”*/
类码干扰
{
Codejam(){};
静态Codejam obj=新Codejam();
整数=0;
int T;//测试用例的数量
int[]S;//每个给定害羞级别的人数
布尔[]站;
int-Smax;
整数合计=0,新投资=0;
公共静态void main(字符串[]args)引发java.lang.Exception
{
//你的密码在这里
BufferedReader cin=新的BufferedReader(新的InputStreamReader(System.in));
obj.T=Integer.parseInt(cin.readLine());
for(int i=0;i=i)和&(目标站姿[i]==false))
{
obj.totalStanding+=obj.S[i];
obj.standing[i]=正确;
}
}
}
public void populate()引发IOException
{
BufferedReader cin=新的BufferedReader(新的InputStreamReader(System.in));
字符串faaltu=cin.readLine();
字符串inp=cin.readLine();
字符串[]部分=inp.split(\\s”);
对于(int k=0;k
我得到了一个例外
线程“main”java.lang.NumberFormatException中的异常:
对于java.lang.NumberFormatException.forInputString中的输入字符串:“”(未知源)
位于java.lang.Integer.parseInt(未知源)
位于java.lang.Integer.parseInt(未知源)
在Codejam.populate(Codejam.java:57)
在Codejam.main(Codejam.java:24)
请指出我的错误所在。错误很明显,您试图将一个空字符串解析为一个数字,该字符串引发了异常 我们不知道您的输入是什么,但是
部分[0]
是导致错误的空字符串:
obj.Smax = Integer.parseInt(part[0]);
错误很明显,您试图将引发异常的空字符串解析为一个数字 我们不知道您的输入是什么,但是
部分[0]
是导致错误的空字符串:
obj.Smax = Integer.parseInt(part[0]);
错误很明显,您试图将引发异常的空字符串解析为一个数字 我们不知道您的输入是什么,但是
部分[0]
是导致错误的空字符串:
obj.Smax = Integer.parseInt(part[0]);
错误很明显,您试图将引发异常的空字符串解析为一个数字 我们不知道您的输入是什么,但是
部分[0]
是导致错误的空字符串:
obj.Smax = Integer.parseInt(part[0]);
在我看来,您试图从输入中读取太多的行 我怀疑你的阅读超过了文件的结尾 我建议您将
cin.readline()
作为参数传递给populate()
方法,这样您就不必打开另一个阅读器
您也不必过多地避开拆分表达式,我认为它当前的读数是“反斜杠和s”,而不是“空格”。在我看来,您试图从输入中读取太多的行 我怀疑你的阅读超过了文件的结尾 我建议您将
cin.readline()
作为参数传递给populate()
方法,这样您就不必打开另一个阅读器
您也不必过多地避开拆分表达式,我认为它当前的读数是“反斜杠和s”,而不是“空格”。在我看来,您试图从输入中读取太多的行 我怀疑你的阅读超过了文件的结尾 我建议您将
cin.readline()
作为参数传递给populate()
方法,这样您就不必打开另一个阅读器
您也不必过多地避开拆分表达式,我认为它当前的读数是“反斜杠和s”,而不是“空格”。在我看来,您试图从输入中读取太多的行 我怀疑你的阅读超过了文件的结尾 我建议您将
cin.readline()
作为参数传递给populate()
方法,这样您就不必打开另一个阅读器
你也不必太过逃避你的拆分表达式,我认为它现在读的是“反斜杠和s”,而不是“空格”。我给出了输入:2 4 12345 31234@gnsb如果这确实是收到的输入,那么您的拆分将起作用。请在解析前打印
inp
,并告诉我输出。打印变量以测试程序使我意识到错误:我读过了文件的结尾,非常感谢您的帮助:)我给出了输入:2 4 12345 31234@gnsb如果这确实是收到的输入,那么您的拆分将起作用。请打印inp