• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[JAVA] Podliczanie ilości linijek pliku tekstowego.

Object Storage Arubacloud
0 głosów
653 wizyt
pytanie zadane 29 kwietnia 2017 w Java przez embid123 Użytkownik (630 p.)

Witam, mam mały problem dotyczący zliczania linijek tekstu z pliku tekstowego. 

FileReader pomoc1 = new FileReader("macierz.txt");
		BufferedReader pomoc2 = new BufferedReader(pomoc1);

		String zdanie = pomoc2.readLine();

		int a = Character.getNumericValue(zdanie.charAt(0)); 
		int b = Character.getNumericValue(zdanie.charAt(0));
		
		int tab[][] = new int[a][b];
		int numerWiersza = 0;
		
		zdanie = pomoc2.readLine();
		
		do {
			zdanie = zdanie.replaceAll(" ", "");
			for (int i = 0; i < tab.length; i++) {
				tab[numerWiersza][i] = Character.getNumericValue(zdanie.charAt(2 * i)) * 10
						+ Character.getNumericValue(zdanie.charAt(2 * i + 1));
			}

			zdanie = pomoc2.readLine();
			numerWiersza++;
		} while (zdanie != null);
		pomoc2.close();

Obecnie plik tekstowy wygląda tak: 

5x5
15 12 13 14 15 
16 14 15 16 16
15 15 15 15 15
18 30 28 48 21
20 94 23 45 64

Chciałbym usunąć to "5x5" i sprawić, by mój program wczytywał wymiary tablicy z danych. Nie mogę przecież wczytywać do tablicy danych, a potem deklarować jej wielkość. Jakieś pomysły?

1 odpowiedź

+1 głos
odpowiedź 29 kwietnia 2017 przez Codeboy Stary wyjadacz (12,120 p.)

Nie możesz użyć po prostu ArrayList? Tutaj nie trzeba deklarować wielkości. Po wczytaniu danych możesz ewentualnie przekonwertować to na tablicę jeśli chcesz pracować na tablicach.

komentarz 29 kwietnia 2017 przez embid123 Użytkownik (630 p.)
W poleceniu mam "przy użyciu tablic". Spróbuję z tym ArrayList.
komentarz 29 kwietnia 2017 przez Codeboy Stary wyjadacz (12,120 p.)
Jeszcze jedno, bo nie wiem czy Cię dobrze zrozumiałem. Chcesz wczytywać dane do tablicy bez tej informacji w pierwszej linijce "5x5" tak?
komentarz 29 kwietnia 2017 przez embid123 Użytkownik (630 p.)
Chcę, by w pliku tekstowym znajdowała się sama macierz, a program ma za zadanie na podstawie tego zwymiarować tablicę oraz wpisać do niej wartości.
komentarz 29 kwietnia 2017 przez Codeboy Stary wyjadacz (12,120 p.)
edycja 29 kwietnia 2017 przez Codeboy
Możesz z pomocą Scannera i warunku while(obiektscannera.hasNextLine()) policzyć po prostu kolejne linie i ilość osobnych liczb w pierwszej linijce. Dostaniesz wtedy ilość rzędów i kolumn i na podstawie tego będziesz mógł utworzyć tablicę, ale to jest kolejne przelatywanie Scannerem przez plik... Czy to ma sens? Ja bym po prostu użył ArrayList i później przekonwertował to na tablicę.
komentarz 29 kwietnia 2017 przez embid123 Użytkownik (630 p.)
Wiesz, według Ciebie lepiej, ale skoro zadanie zakłada użycia tablic to muszę to przeboleć. Dzięki za rady. :)

Podobne pytania

0 głosów
1 odpowiedź 523 wizyt
0 głosów
1 odpowiedź 318 wizyt
0 głosów
3 odpowiedzi 3,416 wizyt
pytanie zadane 26 września 2017 w Java przez Jimmy Początkujący (450 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...