5 svar
46 visningar
lollllipop är nöjd med hjälpen!
lollllipop 3
Postad: 18 feb 2020 Redigerad: 18 feb 2020

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

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 Redigerad: 18 feb 2020

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. 

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

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. 

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