我已经创建了一个Sokoban-solver的实现,并且代码目前看起来像这样(不会发布所有代码):
public Sokoban() throws Exception{
myList = new ArrayList<Integer>();
file = new File("C:/Users/joaki/Desktop/sokoban/readin.txt");
sc = new Scanner(file);
sc.reset();
List<String> lines = new ArrayList<>();
while (sc.hasNextLine()) {
line = sc.nextLine();
如您所见,我只是使用文件路径来使用扫描仪读取文件,但是根据我的分配,它应该看起来像:
如果“ map1.txt”是带有推箱子地图的文件, 代理程序“ agent”将通过标准输入将map1.txt发送到。 在unix / linux下,这相当于运行程序,如
agent < map1.txt
我真的不明白它们是什么意思,我应该从命令行参数还是从cmd运行程序?
答案 0 :(得分:2)
它应该从用户输入中读取文件,而不是从程序读取文件-是的,您应该从命令行运行该程序。这意味着您的程序应该从System.in
获取输入,而不是直接打开文件:
sc = new Scanner(System.in);
答案 1 :(得分:2)
在创建Scanner
时,请使用以下方法:
sc = new Scanner(System.in);
它将告诉扫描仪从默认输入中读取。