我刚刚开始使用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;
}
}
感谢您的帮助。
答案 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[])
{
...
}
你可以打电话给你的功能。