Jak odczytać każdą kolumnę pliku txt i umieścić je w osobnych tablicach?
Robię Przydział Programowania i zasadniczo muszę czytać z pliku txt i sortować wszystko tam w różnych tablicach, co pozwala mi wyświetlać wszystko w wierszu polecenia cmd i być w stanie usunąć rzeczy.
h Vito 123
d Michael 234 Heart
s Vincent 345 Brain Y
n Sonny 456 6
a Luca 567 Business
r Tom 678 Talking Y
j Anthony 789 Maintenance N
d Nicos 891 Bone
n Vicky 911 7
Pierwszą kolumną musi być pracownikRole (pracownik, lekarz). Druga kolumna to nazwa pracownika. Trzecia kolumna to numer pracownika, a niektóre z nich mają czwartą kolumnę (jeśli jest to liczba pacjentów. Y służy do zamiatania lub odbierania połączeń)
Tak więc mój proces myślowy został umieszczony w każdej kolumnie w jego własnej tablicy, a następnie zapisany w ten sposób. Udało mi się umieścić każdy wiersz we własnej tablicy za pomocą
public class ReadingFile {
// String test;
// char[] employeeRole = new char[9];
String[] employeeRole = new String[9];
String[] employeeName = new String[9], specialty;
String[] wholeLine = new String[9];
// String word;
int[] employeeNum = new int[9];
int r, n, l, num;
public void Reader()
{
Scanner inputStream = null;
Scanner inputStream2 = null;
Scanner inputStream4 = null;
try
{
BufferedReader inputStream3 =
new BufferedReader(new FileReader("data.txt"));
inputStream = new Scanner(new FileInputStream("data.txt"));
inputStream =
new Scanner(new FileInputStream("data.txt"));
inputStream2 =
new Scanner(new FileInputStream("data.txt"));
inputStream4 =
new Scanner(new FileInputStream("data.txt"));
System.out.println("Yeah");
}
catch(FileNotFoundException e){
System.out.println("File Not found");
System.exit(1);
}
for (l=0; l<9; l++)
{
wholeLine[l] = inputStream2.nextLine();
System.out.println(wholeLine[l]);
}
Ale nie wiedziałam, co tam robić. Wykonanie podziału spowoduje umieszczenie tablicy w tablicy? Co oznacza, że umieściłbym każdą linię w tablicy, a następnie każde słowo w tablicy?
Wypróbowałem więc coś innego, wszystko o długości nie równej 1 będzie pracownikiemNum, ale potem były N i Y oraz liczba pateintów.
for(r=0; r<9; r++) //role
{
String next = inputStream4.next();
while( next.length() != 1)
{
next = inputStream4.next();
}
employeeRole[r] = next;
System.out.println(employeeRole[r]);
}
Próbowałem też
for (r=0; r<9; r++)
{
employeeRole[r] = wholeLine[r].substring(wholeLine[r].indexOf(1));
//inputStream.nextLine();
System.out.println(employeeRole[r]);
}
Po prostu nie jestem pewien, czy dobrze się do tego zabiorę? Jeśli robię to trudniejsze niż jest w rzeczywistości? Lub jeśli jest to łatwiejszy sposób. Ale kiedy wszystko się skończy, wyjście powinno być w stanie powiedzieć
Doctors: 2
Name: Michael Employee Number: 234 Specialty: Heart
Name: Nicos Employee Number: 891 Specialty: Bone
Każda pomoc byłaby bardzo mile widziana, dzięki!