Я получаю сообщение об ошибке, которое утверждает в ArrayList не может быть преобразовано в целое на мой return arr
Java: Несовместимые типы: ArrayList <Integer> не могут быть преобразованы в Int
Я пишу программу, в которой я должен прочитать все int из файла и вычислить их сумму. Я также обрабатывать все исключения, поэтому, если исключение, то функция должна возвращать 0.
Вот мой код:
public static int intFileSum(String fileName)
{
ArrayList<Integer> arr=new ArrayList<Integer>();
InputStream fis=new FileInputStream(fileName);
Scanner s=new Scanner(fis);
try {
while (s.hasNextInt()) {
arr.add(s.nextInt());
}
}
catch (FileNotFoundException e) {
return 0;
} catch (IOException f) {
return 0;
} finally {
fis.close();
s.close();
return arr;
}
}
Вот мой блок тест, который должен пройти после того, как файл для чтения :
public void testSumIntsHappyPath() throws Exception
{
int sum=Assignment11.intFileSum("inputs/ints1.txt");
Assert.assertEquals(10, sum);
sum=Assignment11.intFileSum("inputs/ints2.txt");
Assert.assertEquals(56, sum);
}
Любая помощь приветствуется.
Спасибо!
'public static int intFileSum' не может' return arr' ... Изменить возвращаемый тип –
'ArrayList' не может быть преобразован в целое! Посмотрите на свое возвращаемое значение и тип возвращаемого значения, и прочитайте сообщение об ошибке! –
Li357
Спасибо. Я изменил его на intFileSum (что по существу означало бы, что метод вызывает себя.) Теперь он говорит, что не может найти символ – rls1982