Java I';我不知道该在我的try声明中写些什么,我一直得到一个;Ecxeption in thread“;“主要”&引用;错误

Java I';我不知道该在我的try声明中写些什么,我一直得到一个;Ecxeption in thread“;“主要”&引用;错误,java,exception,try-catch,Java,Exception,Try Catch,每当我尝试运行我的代码时,在给我一个 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:索引0超出长度0的界限 main(SentenceUtilsTest.java:26) 我太迷茫了,我的教授还没有解释try-catch语句,这比我们之前的作业难度大了一步 包中还有另一个类 package templates; public class SentenceUtilsTest { private static List<Sen

每当我尝试运行我的代码时,在给我一个 线程“main”java.lang.ArrayIndexOutOfBoundsException中出现异常:索引0超出长度0的界限 main(SentenceUtilsTest.java:26)

我太迷茫了,我的教授还没有解释try-catch语句,这比我们之前的作业难度大了一步

包中还有另一个类

package templates;

public class SentenceUtilsTest 
{

private static List<SentenceUtils> sList = new ArrayList<SentenceUtils>();


public static void main(String[] args) 
{
    System.out.println("\n---------------------------------------------------\n");
    System.out.println("COP3330 Sentence Utility Program by [name]");
        System.out.println("\nInput file name: " + args[ 0 ] );

        try
        {
            File file = new File("cat.txt");
            Scanner scanner = new Scanner(file);

            //insert code

            scanner.close();
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
    }

}
输出是

---------------------------------------------------

COP3330 Sentence Utility Program by [name] 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 
0 out of bounds for length 0
at templates.SentenceUtilsTest.main(SentenceUtilsTest.java:26)
---------------------------------------------------

COP3330 Sentence Utility Program by [name]

Input file name: [file name]
Number of sentences: [number]

Sentence 0 >

//The next parts are from the second class, specifically report()
The cat in the hat

Tokens:
0:The
1:cat
2:in
3:the
4:hat

Shingles:
//I have the logic for this laid out in my program, didn't think it 
//necessary to copy and paste though
预期产量为

---------------------------------------------------

COP3330 Sentence Utility Program by [name] 
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 
0 out of bounds for length 0
at templates.SentenceUtilsTest.main(SentenceUtilsTest.java:26)
---------------------------------------------------

COP3330 Sentence Utility Program by [name]

Input file name: [file name]
Number of sentences: [number]

Sentence 0 >

//The next parts are from the second class, specifically report()
The cat in the hat

Tokens:
0:The
1:cat
2:in
3:the
4:hat

Shingles:
//I have the logic for this laid out in my program, didn't think it 
//necessary to copy and paste though
在这里:

您正在无条件打印参数[0]

堆栈跟踪告诉您不能打印长度为0的数组的第一个索引(0)。很简单:空数组没有任何索引
args
包含调用类时传递给JVM的参数。因此,除非您将值传递给它,否则它将完全为空

因此,要么至少向应用程序传递一个值,要么需要某种检查,如

if (args.length < whateverValueYouExcpect) {
  give error message
if(args.length
第1课:不要尝试/捕获您不理解的异常(预计会发生)!这些异常是代码中的错误,您可以调试它们,并修复根本原因。

此处:

您正在无条件打印参数[0]

堆栈跟踪告诉您不能打印长度为0的数组的第一个索引(0)。很简单:空数组没有任何索引。
args
包含调用类时传递给JVM的参数。因此,除非向其传递值,否则它是完全空的

因此,要么至少向应用程序传递一个值,要么需要某种检查,如

if (args.length < whateverValueYouExcpect) {
  give error message
if(args.length

第1课:不要尝试/捕获您不理解的异常(预计会发生)!这些异常是你代码中的bug,你调试它们,并修复其根本原因。

令人沮丧的是,我已经列出了逻辑,但我不知道问题是什么,为什么我不能编译代码。我不想责怪教授,但他用很少的时间和很少的解释向我们扔了很多东西。而且由于这个问题,所有其他解决如何获取“令牌”和“木瓦”的代码不要紧,我会不及格。令人沮丧的是,我已经列出了逻辑,但我不知道问题是什么,为什么我不能编译我的代码。我不想责怪教授,但他用很少的时间和很少的解释向我们扔了很多东西。因为这个问题,所有其他的代码都能成功如何获得“代币”和“木瓦”无关紧要,我将无法通过任务谢谢!我很抱歉地问,如果我问你如何修复它,你会不会介意?我应该用什么替换args[0]使用?这是我们的教授告诉我们的,所以我认为这是正确的输入方式。@Luke请查看我的更新。在调用类时,您只需向类提供一个参数,如
java SentenceUtilsTest Arg1 Arg2
。但是请注意:这个地方不能替代导师服务。请不要启动“通过评论提出更多问题”乒乓球。除此之外,欢迎使用SO:-)…并且在某些时候不要忘记接受有用的答案;-)谢谢!非常抱歉,我只是感到困惑,因为我们的教授告诉我们键入“System.out.println”(\n输入文件名:+args[0]);“@Luke没关系,如前所述,只需在某个时候接受,然后继续下一节课……谢谢!我很抱歉地问,如果我问你如何修复它,你会没事吗?我应该用什么替换args[0]使用?这是我们的教授告诉我们的,所以我认为这是正确的输入方式。@Luke请查看我的更新。在调用类时,您只需向类提供一个参数,如
java SentenceUtilsTest Arg1 Arg2
。但是请注意:这个地方不能替代导师服务。请不要启动“通过评论提出更多问题”乒乓球。除此之外,欢迎使用SO:-)…并且在某些时候不要忘记接受有用的答案;-)谢谢!非常抱歉,我只是感到困惑,因为我们的教授告诉我们键入“System.out.println”(\n输入文件名:+args[0]);“@Luke没关系,如前所述,只是在某个时候接受,然后继续下一课。。。