5 svar
450 visningar
lollllipop är nöjd med hjälpen
lollllipop 3
Postad: 18 feb 2020 15:51 Redigerad: 18 feb 2020 15:53

Spara resultat i en vektor i Java

Hej! 

Jag har skrivit följande metod readFromFile i en klass som heter FileReader : 

Applicant [] Sökande = new Applicant [nbrOfRows]; 
int n = 0;
while (scan.hasNextLine() && n < nbrOfRows) {
String rad = scan.nextLine();
String[] RadParts = rad.split(" ");
if(rad.length() > 1) {
String name = (RadParts[0] + " " + RadParts [1]);
Sökande [n] = new Applicant(name, RadParts[2]);
n++;

Jag anropar denna metod från en annan klass som heter FindBestCandidate och använder en fil som heter applications_small.txt och den har 7 rader:

FileReader.readFromFile("applications_small.txt", 7); 

Nu ska jag spara anropet i en vektor och sedan skriva ut vektorn alltså resultatet från anropet med System.out. Jag tänker att jag ska skapa ett nytt objekt av en vektor som jag sparar resultatet i men hur?...

Lindehaven 820 – Lärare
Postad: 18 feb 2020 16:50

Lite oklart för mig vilken information som finns i filen men jag gissar att det har att göra med sökande (av klassen Applicants). I klassen Applicants bör det finnas klassmedlemmar (attribut och metoder) som kan hålla den informationen. Din FileReader har redan en array av klassen Applicants så du kanske kan spara informationen där? Klassen Applicants bör innehålla någon metod för utskrift av sina attribut. Anropa dem.

lollllipop 3
Postad: 18 feb 2020 18:06 Redigerad: 18 feb 2020 18:07

Hej! Jag skrev:
return sökande;
i FileReader efter n++; så informationen ligger sparad där (glömde skriva in här på pluggakuten). Men hur får jag den att sparas i den andra klassen alltså FindBestCandidate. Jag anropar FileReader i FindBestCandidate och sen körs metoden och jag får ut en vektor sökande. Men hur sparar jag den i en variabel eller i så fall vektor i klassen FindBestCandidate? Det är mainmetoden som man ska köra nämligen. Det finns ingen metod än för att returnera i klassen Applicants, utan den ska man göra senare i uppgiften. 

Lindehaven 820 – Lärare
Postad: 18 feb 2020 18:49

Du returnerar alltså enn array med objekt av klassen Applicants. Då behöver du en likadan för att ta emot svaret.

lollllipop 3
Postad: 18 feb 2020 19:09

Jag tänker att jag ska skriva följande: 

Applicant [] Sökande = new Applicant[7];

System.out.println(Sökande);

Men det funkar väl ej? Eftersom jag inte refererar till filen "Applications_small.txt" då? Jag har väl bara skapat ett random objekt med 7 rader som heter sökande i detta fall. 

Lindehaven 820 – Lärare
Postad: 18 feb 2020 21:02

När du deklarerat Sökande så behöver du fylla Sökande med svaret från anropet till metoden FileReader.readFromFile innan du skriver ut innehållet i Sökande.

Svara Avbryt
Close