Program za pomocą dwóch metod powinien najpierw wczytywać listę (ArrayList<String>) z podanego pliku a w drugiej metodzie przejść przez wszystkie elementy i zwrócić sumę intów. Niestety mój program nie sumuje intów ;)
Aktualnie mój program wygląda tak:
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class Lista {
public static void wczytajListe(Scanner s) throws FileNotFoundException {
Scanner scan = new Scanner(new File("lista.txt"));
ArrayList<String> list = new ArrayList<String>();
while (scan.hasNextLine()) {
String element = scan.nextLine();
list.add(element);
}
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i));
}
public static void sumujListe(Scanner s) throws FileNotFoundException {
Scanner scan = new Scanner(new File("lista.txt"));
ArrayList<String> list = new ArrayList<String>();
while (scan.hasNextLine()) {
String firm = scan.nextLine();
int suma= 0;
if (scan.hasNextLine()){
int liczba = Integer.parseInt(firm);
suma = suma+liczba;
}
list.add(firm);
System.out.println("Wynik sumy: " +suma);
}
}
public static void main(String[] args) throws FileNotFoundException {
Scanner scan = new Scanner(new File("lista.txt"));
wczytajListe(scan);
sumujListe(scan);
}
}
Pytanie: jak napisać warunek by sprawdzał mi czy w danej linii mamy tekst i nie wywalał błędu tylko kontynuował sprawdzanie listy w poszukiwaniu intów ? No i co robię źle w sumowaniu.