这是代码片段:
private double input()throws IOException
{
StringTokenizer st=null;
BufferedReader b=new BufferedReader(new FileReader(csvfile));
String line=null;
int count=0;
while((line=b.readLine())!=null)
{
count+=1;
if(count==0)
{
return 0.0;
}
else
{
int sum=0;
String[] arr=new String[19];
st=new StringTokenizer(line,",");
int i=0;
while(st.hasMoreTokens())
{
arr[i]=st.nextToken();
i++;
}
for(int j=2;j<arr.length;j++)
{
if(j==13)
{
return Double.parseDouble(arr[j]);
}
}
System.out.println();
}
}
}
如您所见,我为if-else
梯子的两种情况都添加了返回语句。Eclipse
仍然要求我添加退货声明。出于同样的原因,执行代码会引发错误。(错误This method must return a result of type double
:)为什么会发生这种情况?
背景:上述方法是读取一个CSV文件,并根据另一种方法的要求返回文件的某些部分,这里没有展示。