Witam!
Mam za zadanie odczytać z pliku tekstowego dane, które muszę następnie zapisać w tablicy, a następnie policzyć ich średnią.
Tak wygląda plik tekstowy:
- wiersz to zwykły napis, 2. wiersz to liczba wierszy tablicy, z której dane zapisałem do pliku, 3. to liczba kolumn tej samej tablicy, a kolejne wiersze to dane, ktore musze umiescic w nowej tablicy i policzyć ich średnią. W tym momencie zaczynają się schody, bo nie wiem jakiej metody z BufferedReader'a użyć, aby odczytać np. wartość 9,667 z pliku i zapisać ją do tablicy[0][0]
Macierz
5
5
9,667 1,376 9,458 4,950 6,158
9,505 2,835 9,775 9,223 6,354
9,864 2,528 2,542 4,290 9,213
2,433 2,246 8,272 2,286 5,379
5,901 9,155 8,282 1,197 5,104
Tutaj wklejam tę metodę do momentu do którego potrafiłem ją napisać:
public void SredniaZpliku(File f) throws IOException
{
BufferedReader bufR = new BufferedReader(new FileReader(f));
bufR.readLine();
String liczbaWierszy = bufR.readLine();
String liczbaKolumn = bufR.readLine();
int iloscWierszy=Integer.valueOf(liczbaWierszy);
int iloscKolumn=Integer.valueOf(liczbaKolumn);
double [][] tablica = new double[iloscWierszy][iloscKolumn];
for(int i=0; i<tablica.length; i++)
{
for(int j=0; j<tablica[i].length; j++)
{
tablica[i][j]= // najpierw napisałem coś takiego: tablica[i][j]=Double.valueOf(bufR.readLine()); , ale szybko
// zobaczyłem, że to nie ma sensu i utknąłem
}
}
}
}
Mam też kolejne pytanie. Zakładając, że udało mi się te dane poprawnie zapisać w nowej tablicy to, aby tego dokonać musiałbym, w którymś momencie wszystkie przecinki oddzielające część dziesiętną w jakiś sposób zamienić na kropki czy kompilator zrobi to za mnie? (w pliku txt są zapisane wartości typu 2,345 zamiast 2.345 i stąd moje pytanie)