java - 关于eclipse检测到代码错误并创建对象来运行方法的问题

标签 java oop

我是Java新手。我正在尝试创建一个名为 Database 的类,它将读取文本文件以创建数组。这段代码中没有 main 方法,因为我有另一个 java 文件作为主应用程序,并且它有 main 方法。

这是我的代码:

public class Database {

    public static String[][] items = new String[20][3];

    public static String[][] fillArray(String myFile)
    {
        TextFileInput in = new TextFileInput(myFile);
        for(int i=0; i<20; i++)
        {
            String line =in.readLine();
            StringTokenizer token = new StringTokenizer(line, ",");
            for(int j=0; j<3; j++)
            {
                items[i][j] = token.nextToken();
            }
        }
        in.close();
        return items;
    }

    public static String getName(String code)
    {
        for(int i=0; i<20; i++)
        {
            if (code.equals(items[i][0]))
                return items[i][1];
        }
    }

    public static String getPrice(String code)
    {
        for(int i=0; i<20; i++)
        {
            if(code.equals(items[i][0]))
                return items[i][2];
        }
    }
}

问题 1:Eclipse 通过指示两种方法(getName 和 getPrice)来显示错误。它说:“此方法必须返回 String 类型的结果”。谁能解释一下并解决这个问题吗?

问题 2:该数据库类包含方法和通过读取文本文件创建的数组。我还有另一个 java 文件,它是包含 main 方法的主应用程序文件。主应用程序文件是我想在其中创建对象并调用方法的文件。我理解这个概念,但是当我尝试创建数据库对象并调用该对象上的方法时,我不断收到错误。谁能给我展示一个使用此类的示例吗?

最佳答案

答案 1: getNamegetPrice 方法中的 return 语句位于 if block 内,该 block 可能会根据 if 中满足的条件执行或不执行,因此编译器将给出错误.

在方法返回之前需要有 return 语句。

答案 2:由于数据库类中的所有方法都是静态,因此不需要创建对象,因此可以使用classname直接调用它,例如 Database.getName("code")

关于java - 关于eclipse检测到代码错误并创建对象来运行方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140395/

相关文章:

java - 我可以称之为复合模式的实现吗

java - 如何在linux中的类路径中添加多个jar文件

python - 尝试覆盖 django rest 框架中的更新方法以在更新后返回整个查询集

Java 让物体在按住按钮时移动

java - 创建类型为 "Class"的参数化类型

java - Android getSelectedItem,如何使用?

c++ - OOP 与宏问题

javascript - OO Javascript 继承向下两级

python - 在 python 3 中从父类扩展 __init__ 的正确方法

c# - 有没有办法在实例化对象时隐藏/显示某些方法?