Wczytuję dane z pliku.
Mam w nim 3 linie, w których są zapisane współrzędne 8-miu punktów. Współrzędne punktu są przedzielone przecinkami, a dwóch różnych punktów - średnikiem.
public class Odczyt {
Punkt[][] linie = new Punkt[3][9];
public void Odczytaj() throws FileNotFoundException {
File file = new File("linie");
Scanner in = new Scanner(file);
String zdanie = null;
String[] splitedZdanie = null;
String[] splitedPunkt = null;
int i = 0;
while (in.hasNextLine()){
zdanie = in.nextLine();
splitedZdanie = zdanie.split(";");
for(int j=0; j <9; j++)
{
splitedPunkt = splitedZdanie[j].split(",");
linie[i][j] = new Punkt(Integer.parseInt(splitedPunkt[0]), Integer.parseInt(splitedPunkt[1]));
}
i++;
}
}
}
Do tej pory działa.
Chciałbym każdemu zbiorowi 3-ch linii dodać godzinę, do której jest on przypisany.
Dodaję więc do pliku nad każdym z nich godzinę (tylko 0, 1, 2, ..., 23 - bez minut).
Dodaję więc zmienną
int h = 0;
oraz warunek if(zdanie==Integer.toString(h)
. W klamrze dodaję, że ma następnie wczytać kolejną linię.
```java
public class Odczyt {
Punkt[][] linie = new Punkt[3][9];
public void Odczytaj() throws FileNotFoundException {
File file = new File("linie");
Scanner in = new Scanner(file);
String zdanie = null;
String[] splitedZdanie = null;
String[] splitedPunkt = null;
int h = 0;
int i = 0;
while (in.hasNextLine()){
zdanie = in.nextLine();
if (zdanie == Integer.toString(h)){
zdanie = in.nextLine();
splitedZdanie = zdanie.split(";");
for(int j=0; j <9; j++)
{
splitedPunkt = splitedZdanie[j].split(",");
linie[i][j] = new Punkt(Integer.parseInt(splitedPunkt[0]), Integer.parseInt(splitedPunkt[1]));
}
i++;
}
}
}
}
Na razie miałoby umożliwiać wczytanie jednego tylko zbioru linii, któremu odpowiada godzina 0.
W pliku są zatem na razie tylko 4 linijki - 1. - godzina (0), z następne 3 to zbiór linii.
Nie działa i tak.