本帖最后由 u012055150 于 2014-03-24 23:57:42 编辑

解决方案 »

  1.   

    package segmentation;import java.util.*;
    import Dictionnaire.*;public class Morphologie {   public class Syntagme {      public static final int PHRASE=0;
          private String chaine;
          protected String categorie;
          protected List<Syntagme> composants;      public Syntagme(String mot) {
             chaine= mot;
          }      public Syntagme(List<Syntagme> s,String cat) {
                composants=s;
                categorie=cat;
          }      public Syntagme(String mot, String cat) {
             chaine= mot;
             categorie= cat;
          }      public String toString() {
             return chaine;
          }      public void setCategorie(String s) {
             categorie=s;
          }      public String getCategorie() {
             return categorie;
          }
       }
       public class Segmentation {      public Segmentation instance;      public class Segmenteur {
             protected Collection<Segmenteur> segmentations;
             private void Segmentation() {
                segmentations = new ArrayList<Segmenteur>();
                segmentations.add(new Segmentation1());  // 错误: 找不到符号
    //哪有这个类?根本没有。
                segmentations.add(new Segmentation2());  // 错误: 找不到符号
             }
          }      public Segmentation getInstance() {
             if (instance == null)
                instance = new Segmentation();
             return instance;
          }
       }
       public static String[][] getCombinaisons(List<Collection> etiquettes)
       {
          int compt=1;
          int nbreMots=etiquettes.size();
          for(Collection tags:etiquettes)
          {
             compt*= tags.size();
          }      String[][] matrice = new String[compt][nbreMots];      for(int i=0;i<matrice.length-1;i++)
             for(int j=0;j<matrice[i].length-1;j++)
             {
                List et= (List) etiquettes.get(j);
                int l= et.size();
                System.out.println(l);
                System.out.println(et);
                matrice[i][j]= (String) et.get((int)(i/l));
             }      return matrice;
       }
       public static void main(String[] args) throws Exception {      Dictionnaire dico= Dictionnaire.getInstance();      Collection<String> etiquettes;
          List<Collection> lemmes= new Vector<Collection>();
          for(Syntagme mot:Syntagme())     // 错误: 找不到符号
          {
             etiquettes= new Vector<String>();
             etiquettes.addAll(dico.getTags(mot.toString()));
             lemmes.add(etiquettes);
             System.out.println("Découpage : "+Syntagme());    // 错误: 找不到符号
    //你没有这个方法,要创建
          }
          System.out.println("Lemmatisation : "+lemmes);   }
    }
    别的不说了。
      

  2.   

    谢谢您的回复,我按照你的留言创建以下这一段的方法,做了两小时,实验了好几个方法,都做不出来啊。可不可以请你多给一点提示啊?不好意思我实在太菜了⋯⋯
       public static void main(String[] args) throws Exception {      Dictionnaire dico= Dictionnaire.getInstance();      Collection<String> etiquettes;
          List<Collection> lemmes= new Vector<Collection>();      for(Syntagme mot:Syntagme())
          {
             etiquettes= new Vector<String>();
             etiquettes.addAll(dico.getTags(mot.toString()));
             lemmes.add(etiquettes);
             System.out.println("Découpage : "+Syntagme());
          }
          System.out.println("Lemmatisation : "+lemmes);   }
      

  3.   

    其实一楼说的很明白了,
    Segmentation1和2这两个类不存在啊
    你没有完成的方法,要完成啊
      

  4.   

    我想楼主是想这样写吧
    Segmentation segmentation1 = new Segmentation1();
    Segmentation segmentation2 = new Segmentation1();
    segmentations.add(segmentation1); 
    segmentations.add(segmentation2); 
    如果照楼主的格式应该这样写
    segmentations.add(new Segmentation()); 
    segmentations.add(new Segmentation()); 
    比较一下两种写法.
    另外循环里
    Syntagme()这个不是方法(程序里没体现),说是构造函数,也不是这样用的.总的来说,你这个循环用得不对.
    for(Type t : List<Type>) 这种循环的用法是,这里有三个关键元素,第一个元素是你要循环对象的类型(Type),第二个是给这个类型起一个别名(t),第三个是循环的集合List<Type>,这个集合里必须都是(Type)类型的.
    再回头看看你的循环体里for(Syntagme mot:Syntagme()),第一个元素是类型(正确),第二个元素是别名(正确),第三个元素,就不知道是什么了.