我正在尝试从CSV文件中提取数值,但我无法编译代码。我不断收到以下错误:不兼容的类型:意外的返回值。我对所有这些都相当新,所以我在整理所有这些方面遇到了一些麻烦。我们将非常感谢您提供的任何帮助。我的代码如下。
public void numberOfExporters(CSVParser parser, String exportItem) {
int exportnum = 0;
for (CSVRecord record: parser) {
String exports = record.get("Exports");
if(exports.contains(exportItem) && (exportnum > 0 )){
exportnum++;
}
return exportnum;
}
System.out.println(exportnum);
}
public void tester3() {
FileResource fr = new FileResource();
CSVParser parser = fr.getCSVParser();
numberOfExporters(parser, "porkbellies");
}
答案 0 :(得分:1)
您将该方法声明为 void 。
这意味着:它什么都不返回。如果要返回int值,请将void替换为int。
除此之外,你的方法的整个逻辑是有缺陷的 - 你需要在所有可以退出方法的路径上返回语句,并且如果永远不输入循环,你就错过了一个返回。
然后:您可能无法在尝试时迭代该csv解析器对象。
这里真正的答案是:退后一步,阅读书籍/教程。您的代码充满了基本错误。意义 - 忘记现在进行csv解析。而是首先学习如何为简单问题编写简单代码。
答案 1 :(得分:0)
您声明自己的方法为return
,但您有return
语句。删除int
语句或将方法的签名更改为{{1}}。