Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8编译和执行错误_Java_Eclipse_Stanford Nlp - Fatal编程技术网

Java 8编译和执行错误

Java 8编译和执行错误,java,eclipse,stanford-nlp,Java,Eclipse,Stanford Nlp,为了在NLP项目中使用最新的斯坦福软件包,我将Eclipse升级为Java8,如:。在将遵从性路径更改为Jdk1.8以及其他每一次相应的更改之后,我运行了该程序 这就是错误: 错误:在类edu.stanford.nlp.trees.tregex.Relation$17中找不到Main方法,请将Main方法定义为:publicstaticvoidmain(String[]args)或JavaFX应用程序类必须扩展JavaFX.application.application 以下是节目: impor

为了在NLP项目中使用最新的斯坦福软件包,我将Eclipse升级为Java8,如:。在将遵从性路径更改为Jdk1.8以及其他每一次相应的更改之后,我运行了该程序

这就是错误:

错误:在类edu.stanford.nlp.trees.tregex.Relation$17中找不到Main方法,请将Main方法定义为:
publicstaticvoidmain(String[]args)
或JavaFX应用程序类必须扩展
JavaFX.application.application

以下是节目:

import java.io.*;
import java.util.*;
import edu.stanford.nlp.tagger.maxent.MaxentTagger;
public class Readability 
{
    static String line1;
    static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    public static void main(String args[])throws IOException
    {
        Readability rd=new Readability();
        rd.tag(rd.count());
    }      
    public String count()throws IOException
    {
        String line, line1;
        System.out.println("Enter the name of the file: ");
        String file=br.readLine();
        StringTokenizer st = null;
        StringBuilder sb=new StringBuilder();
        try(FileInputStream input = new FileInputStream("E:\\"+file))
            {
            int data = input.read();
            while(data != -1)
                {
                sb.append((char)data);
                data = input.read();
                }
            }
        catch(FileNotFoundException e)
        {
            System.err.println("File Not Found Exception : " + e.getMessage());
        }
        line=sb.toString();
        double sentencecount=0.0000, syllablecount=0.0000;
        st = new StringTokenizer(line," ,(){}[]/.;:'&?!\r\t\n\f");
        StringTokenizer st1 = new StringTokenizer(line,"\r");
        double wordcount=st.countTokens();
        System.out.println(wordcount);
        line1=line;//copy for Tagger
        line+=" T";
        //System.out.println(line);
        char[] array = line.toCharArray();
        for (int i=0;i<array.length-1;i++)
        {
            int turn=i+2;
            if(array[i]=='?')
                sentencecount++; 
            if((array[i]=='.')&&(((int)array[turn]>64&&(int)array[turn]<91)))
                sentencecount++;
            if((array[i]=='!')&&(((int)array[turn]>64&&(int)array[turn]<91)))
                sentencecount++;
            if((array[i]=='\'')&&(((int)array[turn]>64&&(int)array[turn]<91)))
                sentencecount++;
            if((array[i]=='"')&&(((int)array[turn]>64&&(int)array[turn]<91)))
                sentencecount++;
        }
        System.out.println(sentencecount+(st1.countTokens()-1));//To include the last sentence before the 'Enter' is pressed as the ' ' follows a '.'
        //System.out.println(st1.countTokens());
        char[] array1=new char[st.countTokens()];
        while (st.hasMoreTokens()) 
        {
            array1=st.nextToken().toCharArray();
            if(array1.length>2)
            {
            for(int i=0;i<array1.length-1;i++)
            {
                char a=Character.toLowerCase(array1[i]);
                char b=Character.toLowerCase(array1[i+1]);
                //System.out.println(a+" "+b);
                if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u')
                {
                    if(b!='a'&&b!='e'&&b!='i'&&b!='o'&&b!='u')
                    {
                        //System.out.println("Swab");
                        syllablecount++;
                    }
                }
            }

            char c=Character.toLowerCase(array1[array1.length-1]);
            char d=Character.toLowerCase(array1[array1.length-2]);
            //System.out.println(c+" "+d);
            if((c=='a'||c=='i'||c=='o'||c=='u')&&(d!='a'||d!='e'||d!='i'||d!='o'||d!='u'))
            {
                //System.out.println("Ha!");
                syllablecount++;
            }
            else if((c=='e')&&(d=='e'))
            {
                //System.out.println("Hola");
                syllablecount++;
            }
            }
            else
            {
                //System.out.println("Woosh");
                syllablecount++;
            }
        }
        StringTokenizer st2 = new StringTokenizer(line," ,(){}[]/.;:'&?!\r\t\n\f");//As 'The' doesn't come under the syllable count radar
        while (st2.hasMoreTokens()) 
        {
            String a=st2.nextToken();
            //System.out.println(a);
            if(a.equalsIgnoreCase("the"))
            {
                syllablecount++;
            }
        }
        System.out.println(syllablecount);
        double readability=(206.835-(1.015*(wordcount/sentencecount))-(84.6*(syllablecount/wordcount)));
        System.out.println("\nReadability Measure:\n\n90-100: Easily Understood by an average 11-year old.\n60-70: Easily understood by a 13-15 year old.\n0-30: Best understood by university graduates.");
        if(readability>0&&readability<100)
            System.out.println("The readability score, according to Flesch readability measure is: "+readability);
        else
        System.out.println("\nThe Readability score, according to Flesch readability measure is: "+100);
        return line1;
    }
    public void tag(String st)
    {
        //System.out.println(st);
        MaxentTagger tagger = new MaxentTagger("Tagger/left3words-distsim-wsj-0-18.tagger");
        String tagged = tagger.tagString(st);    
        System.out.println(tagged);
    }

}
import java.io.*;
导入java.util.*;
导入edu.stanford.nlp.tagger.maxent.MaxentTagger;
公共类可读性
{
静态字符串行1;
静态BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
公共静态void main(字符串args[])引发IOException
{
可读性rd=新的可读性();
rd.tag(rd.count());
}      
公共字符串计数()引发IOException
{
弦线,第1行;
System.out.println(“输入文件名:”);
字符串文件=br.readLine();
StringTokenizer st=null;
StringBuilder sb=新的StringBuilder();
try(FileInputStream input=newfileinputstream(“E:\\”+文件))
{
int data=input.read();
while(数据!=-1)
{
sb.附加((字符)数据);
data=input.read();
}
}
catch(filenotfounde异常)
{
System.err.println(“未找到文件异常:+e.getMessage());
}
line=sb.toString();
双句子计数=0.0000,音节计数=0.0000;
st=新的StringTokenizer(行,,(){}[]/;:'&?!\r\t\n\f);
StringTokenizer st1=新的StringTokenizer(行“\r”);
double wordcount=st.countTokens();
System.out.println(字数);
line1=line;//为标记器复制
行+=“T”;
//系统输出打印项次(行);
char[]数组=line.toCharArray();

对于(inti=0;i64&(int)array[turn]64&(int)array[turn]0&&readability我在Eclipse上运行了这个类,注释了MaxentTagger代码行(因为我没有这个包),并使用了System.out.println(“Hello World”),它编译后运行得很好


该程序看起来还可以。右键单击可读性程序,点击RunAs->Java应用程序。我猜您是在Eclipse工具栏上点击Run,它与以前的一些设置相连接。如果我所说的没有解决问题,那么点击RunAs->Run Configuration,检查项目和正在运行的主类是否正确。Out除此之外,您的代码还可以。

没有
公共静态void main(字符串[]args)
method.Java提供了正确的错误。@luigimendoza这让我很困惑。它在第八行。看起来您正在执行一个名为17 inside
edu.stanford.nlp.trees.tregex.Relation
的内部类,而不是您的
可读性
类。检查您是如何执行Java应用程序的。我选择了readability,然后运行它,我得到了以下错误:错误无法读取Readability主类。请先检查该类是否编译,然后确保从正确的项目执行正确的类。主类:Readability和项目:project(我的项目名称)检查:1.在搜索主类时包括系统库。2.在搜索主类时包括继承的主类。3.在主类中停止。运行时:可读性[Java应用程序]C:\Program Files\Java\jdk1.8.0\u 31\binjavaw.exeI在jre 7上运行过它。我删除了所有其他版本,然后安装。它现在可以工作了。