Just nu i M3-nätverket
Jump to content

Använda en vektor skapad i en konstuktor?


Muppx

Recommended Posts

public class test {

   public static void main(String[] args) throws IOException {
Filter f1 = new Filter();

   }
}

class Filter {
   private String[] badWords;

   //konstruktorn instansierar vektorn badWords och lägger in orden i vektorn
   public Filter() {
badWords = new String[8];
String[] badWords = {"skuldsanering","sex","inkomst","ränta","rea","debt",
"porn","viagra","sale"};

   }
   public int filter(String line) {
               for(int i = 0; i<8; i++) {
    System.out.println(badWords[i]);
}
   } 
}

 

Det jag har försökt göra här är att instansiera en vektor badWords i konstruktorn Filter() vilket fungerar utmärkt. Problemet är att jag vill använda vektorn i min metod filter() men när elementen från vektorn skrivs ut där så har alla värdet null, vektorns värden verkar inte ha följt med från Filter(). Vektorn måste instansieras och få värden i konstuktorn Filter().

 

Hur gör jag för att kunna använda vektorn i metoden filter() med de värden den fick i Filter()?

 

Link to comment
Share on other sites

-Patrik Johansson-

Hej

Anledningen till att du får null i filter() är at du skapar en array badWords som bara finns i konstruktorn.

 

Så får att åtgärda det får du antingen göra deklaration på samma rad som private String[] badWords; dvs så du får

private String[] badWords = {"sssss...

 

Annars kan du alltid göra en lokal kopia i konstruktorn och kopiera över alla dessa värden till badWords...

 

 

//Patrik J

"Insanity: doing the same thing over and over again and expecting different results."
- citat av Albert Einstein

 

Link to comment
Share on other sites

Tackar för svar

 

Ja, tyvärr måste vektorn deklareras i konstruktorn (ett uppgiftskrav). Min lösning får nog bli en lokal kopia men jag är inte säker på vad du menar med det. Hur kommer jag åt denna lokala kopia från filter()?

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...