Всякий раз, когда я пытаюсь запустить свой код, он получает два первых оператора печати перед тем, как выдать мне исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: индексировать 0 за пределами длины 0 в шаблонах .SentenceUtilsTest.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();
}
}
}
Я включаю файл второго класса на случай, если это проблема.Мы должны сканировать файл из другого класса и поместить его в строки этого класса.В нашей последней программе не было нескольких классов, и она была очень кратко освещена в классе, и я очень растерялся и запутался.
public class SentenceUtils
{
private String sentence;
private String[] tokens;
private String[] shingles;
public SentenceUtils( String s )
{
sentence = s;
generateTokens();
generateShingles();
}
private void generateTokens()
{
//code
}
private void generateShingles()
{
//code
}
public void report()
{
//code
}
}
Вывод
---------------------------------------------------
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