Wczytywanie konkretnych wierszy

0

Witam
Mam problem z czytaniem z pliku, mianowicie chciałbym aby dane zapisane w pliku .txt w ten sposób

11 5
5 6
1 4
10 10
6 9
8 9

były czytane następująco 11 jako liczba n(o takiej wielkości tworze tablice) oraz 5 jako k (oznacza ile wierszy ma czytać jako liczby y1=5 y2=6 idt.).
Proszę o pomoc(oczywiście bez nagłówka który mówi ile wynosi n i ile k wiem jak wczytać dane y1 i y2 i na nich operować)

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;


public class Test {

	public static void main(String[] args) {
		BufferedReader br = null;
		try {
	 
			String line;
	 
			br = new BufferedReader(new FileReader("In0101.txt"));
	 
			while ((line = br.readLine()) != null) {
				
			   StringTokenizer stringTokenizer = new StringTokenizer(line, " ");
	 
			   while (stringTokenizer.hasMoreElements()) {
	 
			    Integer n = Integer.parseInt(stringTokenizer.nextElement().toString());
			    Integer k = Integer.parseInt(stringTokenizer.nextElement().toString());		    
			   }
			   
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (br != null)
					br.close();
	 
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
		}

	}

To oczywiście jest kod tylko wczytujący i separujący dane operacje na nich pominąłem.

dodanie znacznika <code> dla zawartości pliku - fp

0

Cały czas do końca nie rozumiem w czym jest problem.

Wczytujesz plik linia po linii, przy pierwszej tworzysz tablicę 11 elementową funkcja np int[] tablica=new int[Integer.parseInt(n)]; a później po kolei wpisujesz w tablice wczytane wartości z 5 kolejnych wierszy. w pętli while tworzysz zmienną iteracyjną i dajesz warunek że jak jest większa od ilości wierszy to wyjdź z pętli.

pzdr
W

0

Źle to zrozumiałeś tablica jest tworzona na podstawie n to prawda ale nie służy by zapisywać tam wartości z pliku punkty y1 y2 to tylko współrzędne i tak np 5 6 oznacza, że w tablicy o indeksie od 5 do 6 zostanie wprowadzona wartość 1 (oznacza że te mole jest zajęte).
Ja chciałbym aby wczytało pierwsza linie z pliku i dane były zapisane jako n i k natomiast kolejne wersy (ilość wersów wczytanych określać ma wartość k) mają być wczytywane i na bieżąco analizowane jak y1 i y2

1 użytkowników online, w tym zalogowanych: 0, gości: 1