• 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.

VPS Starter Arubacloud
0 głosów
649 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ź 472 wizyt
0 głosów
1 odpowiedź 312 wizyt
0 głosów
3 odpowiedzi 3,390 wizyt
pytanie zadane 26 września 2017 w Java przez Jimmy Początkujący (450 p.)

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...