2016-12-29 1 views
-1

So der folgende Code findet Wörter in einem Dokument als spezifisch durch die Worteingabe. Zählt die Häufigkeit, mit der die Wörter in jedem Satz vorkommen, und speichert diese Zählung in den Arraylisten auf der unteren Beschriftung a für Kegel und b für ctwo.Verwenden von Arraylist in verschiedenen Klassen

Ich möchte die Arraylisten in einer anderen Klasse verwenden, aber ich finde nicht, einen Weg zu finden, es zu tun.

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List; 

public class exc { 

    public exc() { 
     } 
public static void main(String[] args) throws Exception  { 
cone aa = new cone(); 
ctwo bb = new ctwo(); 
// after this I'm stuck 

} 
} 
    import java.io.BufferedReader; 
     import java.io.FileReader; 
     import java.util.Arrays; 
     import java.util.List; 

public class cone { 

public void cone() throws Exception  { 

        BufferedReader e = new BufferedReader(new FileReader("words to be read.txt")); 
         String o; 
         while((o = e.readLine()) != null){ 

          String[] sentences = o.split("\\b[.!?]\\s+"); 

         //System.out.println(o); 
          String [] h = sentences; 

         { 

          BufferedReader t = new BufferedReader(new FileReader("Text to be scan.txt")); 
          String g; 
          while((g = t.readLine()) != null){ 

           String[] set=g.split(" "); 

           List<String> list = Arrays.asList(set); 

          // System.out.println(Arrays.toString(set)); 
           //System.out.println(o); 

          int sentenceNumb=1; 
          for (String sentence: h) { 
           int counter=0; 
           String[] words = sentence.replace(".", "").split(" "); 
           for(String word: words) { 
            if (list.contains(word)) { 
             counter++; 
            } 
           } 


           List<Integer> A = Arrays.asList(counter++); 

          } 


          } 



         } 
         } 

} 
} 

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.util.Arrays; 
import java.util.List; 


public class ctwo { 


public void ctwo() throws Exception  { 

BufferedReader e = new BufferedReader(new FileReader("words to be read.txt")); 
    String o; 
    while((o = e.readLine()) != null){ 

     String[] sentences = o.split("\\b[.!?]\\s+"); 

    //System.out.println(o); 
     String [] h = sentences; 

    { 

     BufferedReader t = new BufferedReader(new FileReader("Text to be scan.txt")); 
     String g; 
     while((g = t.readLine()) != null){ 

      String[] set=g.split(" "); 

      List<String> list = Arrays.asList(set); 

     // System.out.println(Arrays.toString(set)); 
      //System.out.println(o); 

     int sentenceNumb=1; 
     for (String sentence: h) { 
      int counter=0; 
      String[] words = sentence.replace(".", "").split(" "); 
      for(String word: words) { 
       if (list.contains(word)) { 
        counter++; 
       } 
      } 


      List<Integer> B= Arrays.asList(counter++); 

     } 


     } 



    } 
    } 
} 
} 
+0

Lassen beide Methoden die 'ArrayList's zurückgeben? – Jyr

Antwort

1
  1. beste Ansatz: Sie haben sowohl die Arraylisten in main(), so dass sie als Funktionsparameter an Funktionen übergeben (von jeder Klasse), die sie benötigen.

  2. Nicht so gut Ansatz: Speichern Sie die ArrayLists als Paket geschützte statische Klassenvariablen in den Cone und Ctwo-Klassen. Sie können auf sie als cone.A und ctwo.B zugreifen.

0

Ihr Programm scheint seltsam. Ich würde vorschlagen, Wörter zu lesen und verschiedene Wörter zu hashmap mit Schlüssel als Wort und Wert hinzuzufügen, wie es zählt.

+0

Wie kann ich das tun? – DMW18

1

Übergeben Sie die gleiche Array-Liste im Konstruktor der beiden Klassen.

+0

Wie? Ich bin neu in Java, wie machst du das? – DMW18

Verwandte Themen