我试图获取文本字段的值并将其应用于方法,以便在文本文件中搜索该值。但是在我的方法中,我显示了一个Missing Return Value错误,似乎无法使其正常工作。下面是我的代码:
submitsearch.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
whatToSearch = searchfield.getText();
result = SearchString(whatToSearch);
}
});
}
public String SearchString(String result)
{
String input;
try{
String details, id, line;
int count;
Scanner housenumber = new Scanner(new File("writeto.txt"));
while(housenumber.hasNext())
{
id = housenumber.next();
line = housenumber.nextLine();
{
if(!housenumber.hasNext())
JOptionPane.showMessageDialog(null,"No Properties with this criteria");
}
if(result.equals(id));
{
JOptionPane.showMessageDialog(null,id + line );
}
}
}
catch(IOException e)
{
System.out.print("File failure");
}
}
}
附录:
在SearchString中我希望在我的文本文件中搜索在我的文本字段中输入的值,在JOptionPane中显示它。虽然我点击搜索后现在有了返回语句,但无论是否与我的搜索匹配,我都会逐一显示JOptionPanes中的所有记录
答案 0 :(得分:6)
您已声明函数的返回类型为String
,因此必须在所有代码路径上返回String
。如果您不需要它返回任何内容,请改用void
。
答案 1 :(得分:3)
在catch块之后添加return null;
。
方法签名表示它返回一个String。这意味着无论代码采用何种流程,该方法都应返回一个值。但是当异常发生时,就没有回报。因此,在发生异常时必须指定返回值