我是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: getName
和 getPrice
方法中的 return 语句位于 if block 内,该 block 可能会根据 if 中满足的条件执行或不执行,因此编译器将给出错误.
在方法返回之前需要有 return 语句。
答案 2:由于数据库类中的所有方法都是静态
,因此不需要创建对象,因此可以使用classname
直接调用它,例如 Database.getName("code")
关于java - 关于eclipse检测到代码错误并创建对象来运行方法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140395/