方法不提取数值

时间:2017-06-14 18:07:15

标签: java methods int

我正在尝试从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");
}

2 个答案:

答案 0 :(得分:1)

您将该方法声明为 void

这意味着:它什么都不返回。如果要返回int值,请将void替换为int。

除此之外,你的方法的整个逻辑是有缺陷的 - 你需要在所有可以退出方法的路径上返回语句,并且如果永远不输入循环,你就错过了一个返回。

然后:您可能无法在尝试时迭代该csv解析器对象。

这里真正的答案是:退后一步,阅读书籍/教程。您的代码充满了基本错误。意义 - 忘记现在进行csv解析。而是首先学习如何为简单问题编写简单代码。

答案 1 :(得分:0)

您声明自己的方法为return,但您有return语句。删除int语句或将方法的签名更改为{{1}}。