在这个项目中,我正在尝试编写一个程序,创建一个包含9个3x3子网格的9x9数独板,以及列出字母a到i的标题行和列。程序编译正确,但是当我点击运行时,它会出现以下错误:
java.lang.ArrayIndexOutOfBoundsException: 0
at Sudoku.main(Sudoku.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at `enter code here`edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
现在,当我提交此内容时,评分程序声明我的print()
,rowsComplete()
,columnsComplete()
和isComplete()
方法不正确,而{{1}扔了一个main()
。我很困惑为什么会这样。这是我的Java代码,以及关于这些方法究竟应该做什么的注释。
java.util.NoSuchElementException
答案 0 :(得分:0)
在main
方法中,
Sudoku puzzle = new Sudoku(args[0]);
您的程序需要一个参数来初始化正在从用户处获取的Sudoku
。
String[] args
中的 main
是程序的参数数组,在启动程序时作为参数给出。
对于您的计划,您必须以Sudoku.class
开始
java Sudoku argument
您必须使用参数运行程序,否则您将获得java.lang.ArrayIndexOutOfBoundsException: 0