在eclipse

时间:2018-04-06 19:27:42

标签: java eclipse algorithm

我刚刚开始使用java,我正在尝试制作一个贪婪的算法。第一步是读取带有宝石价值和行李重量限制等的file.txt。不幸的是,我无法让程序运行。我正在使用eclipse,当我点击运行时,我收到以下错误消息“无法启动选择,并且最近没有启动”。 当我在文件树中选择java greedy算法文件夹并选择运行时,我得到以下消息“选择不包含主类型”。工作文件和file.txt保存在我桌面上的同一文件夹中,但我不知道该程序是否找不到它。这是我的代码:

/** open and read a file, and return the lines in the file as a list of strings */
private List<String> readFile(file.txt)
{
    List<String> records = new ArrayList<String>();
    try
    {
        BufferedReader reader = new BufferedReader(new FileReader(file.txt));
        String line;
        while (( line = reader.readLine()) != null)
        {
            records.add(line);
        }
        reader.close():
        return records;
    }
    catch (Exception e)
    {
        System.err.format("Exception occurred trying to read '%s'.", file.txt);
        e.printStackTrace();
        return null;
    }
}

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

java类应该有一个main方法,然后才能运行它。

所以,你的班级就是这样。

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

public class Test {

public static void main(String... args) {
    //call readFile
    List<String> someList = readFile(<pass filename here>);
    //do something here with someList
}


/** open and read a file, and return the lines in the file as a list of strings */
private static List<String> readFile(String filename)
{
    List<String> records = new ArrayList<>();
    try
    {
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String line;
        while (( line = reader.readLine()) != null)
        {
            records.add(line);
        }
        reader.close();
        return records;
    }
    catch (Exception e)
    {
        System.err.format("Exception occurred trying to read '%s'.",filename );
        e.printStackTrace();
        return null;
    }
}
}

请注意,我将readFile方法标记为static,这是因为我从main方法调用它而不创建Test类的实例。如果您创建Test类的实例,并在其上调用readFile方法,则可以删除static修饰符。

答案 1 :(得分:1)

您必须添加名为void main(String[] args)的方法。 这是在启动程序时调用的方法。 在这个main方法中,您可以调用readFile方法,如下所示:

public static void main(String[] args) {
  readFile();
}

答案 2 :(得分:0)

你错过了

public static void main(String args[])
{
    ...
}

你可以打电话给你的功能。