Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 如何运行这部分代码?_Java_Interpreter - Fatal编程技术网

Java 如何运行这部分代码?

Java 如何运行这部分代码?,java,interpreter,Java,Interpreter,我在堆栈上找到了这段代码,我想在我的机器上试用,但它总是给我一个错误 在Main类中找不到Main方法,请将Main方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaFX.application.application 谁能帮我想一想怎么办? 这是我想在我的机器上尝试的代码部分 public static void main(String[] args) { } public int parse(String input) {

我在堆栈上找到了这段代码,我想在我的机器上试用,但它总是给我一个错误

在Main类中找不到Main方法,请将Main方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaFX.application.application

谁能帮我想一想怎么办? 这是我想在我的机器上尝试的代码部分

public static void main(String[] args) {

}
public int parse(String input) {
        Scanner scanner = new Scanner(input);

            return consumeLine(scanner);
        }

        public int consumeLine(Scanner scanner) {
            if( scanner.hasNext("(") ) {
                return consumeExpression(scanner);

            } else if( scanner.hasNext("IF") ) {
                return consumeIf(scanner);
            }
            return 0;
        }


        public int consumeExpression(Scanner scanner) {
            scanner.next("(");
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            String op = scanner.next("[+-/*]");
            scanner.next(")");

            if( "+".equals(op) ) {
                return a + b;

            } else if( "-".equals(op) ) {
                return a - b;
            } 

            throw new RuntimeException("parsing error");
        }

        public int consumeIf(Scanner scanner) {
            scanner.next("IF");
            int exp1 = consumeExpression(scanner);
            int exp2 = consumeExpression(scanner);
            int exp3 = consumeExpression(scanner);
            int exp4 = consumeExpression(scanner);

            if( exp1 < 0 ) {
                return exp2;
            } else if( exp1 == 0 ) {
                return exp3;
            } 

            throw new RuntimeException("should not be here (TM)");
        }
publicstaticvoidmain(字符串[]args){
}
公共整数解析(字符串输入){
扫描仪=新扫描仪(输入);
返回线(扫描仪);
}
公共int用户线(扫描仪){
if(scanner.hasNext(“”){
返回表达式(扫描器);
}else if(scanner.hasNext(“if”)){
返回(扫描仪);
}
返回0;
}
公共int表达式(扫描程序){
扫描器。下一个(“”);
int a=scanner.nextInt();
int b=scanner.nextInt();
String op=scanner.next(“[+-/*]”);
扫描器。下一个(“)”;
如果(“+”。等于(op)){
返回a+b;
}如果(“-”。等于(op)){
返回a-b;
} 
抛出新的RuntimeException(“解析错误”);
}
公共int consumeIf(扫描仪){
扫描器。下一步(“如果”);
int exp1=用户表达式(扫描仪);
int exp2=用户表达式(扫描仪);
int exp3=用户表达式(扫描仪);
int exp4=表达式(扫描仪);
如果(exp1<0){
返回exp2;
}else if(exp1==0){
返回exp3;
} 
抛出新的RuntimeException(“不应该在这里(TM)”;
}
试试这个

    public int parse(String input) {
        Scanner scanner = new Scanner(input);
        return consumeLine(scanner);
    }

    public int consumeLine(Scanner scanner) {
        if( scanner.hasNext("\\(") ) {
            return consumeExpression(scanner);
        } else if( scanner.hasNext("IF") ) {
            return consumeIf(scanner);
        }
        return 0;
    }


    public int consumeExpression(Scanner scanner) {
        scanner.next("\\(");
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        String op = scanner.next("[+-/*]");
        scanner.next("\\)");

        if( "+".equals(op) ) {
            return a + b;

        } else if( "-".equals(op) ) {
            return a - b;
        } 

        throw new RuntimeException("parsing error");
    }

    public int consumeIf(Scanner scanner) {
        scanner.next("IF");
        int exp1 = consumeExpression(scanner);
        int exp2 = consumeExpression(scanner);
        int exp3 = consumeExpression(scanner);
        int exp4 = consumeExpression(scanner);

        if( exp1 < 0 ) {
            return exp2;
        } else if( exp1 == 0 ) {
            return exp3;
        } 

        throw new RuntimeException("should not be here (TM)");
    } 
试试这个

    public int parse(String input) {
        Scanner scanner = new Scanner(input);
        return consumeLine(scanner);
    }

    public int consumeLine(Scanner scanner) {
        if( scanner.hasNext("\\(") ) {
            return consumeExpression(scanner);
        } else if( scanner.hasNext("IF") ) {
            return consumeIf(scanner);
        }
        return 0;
    }


    public int consumeExpression(Scanner scanner) {
        scanner.next("\\(");
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        String op = scanner.next("[+-/*]");
        scanner.next("\\)");

        if( "+".equals(op) ) {
            return a + b;

        } else if( "-".equals(op) ) {
            return a - b;
        } 

        throw new RuntimeException("parsing error");
    }

    public int consumeIf(Scanner scanner) {
        scanner.next("IF");
        int exp1 = consumeExpression(scanner);
        int exp2 = consumeExpression(scanner);
        int exp3 = consumeExpression(scanner);
        int exp4 = consumeExpression(scanner);

        if( exp1 < 0 ) {
            return exp2;
        } else if( exp1 == 0 ) {
            return exp3;
        } 

        throw new RuntimeException("should not be here (TM)");
    } 

完全按照错误所说的
Main方法在类Main中找不到,请将Main方法定义为:publicstaticvoidmain(String[]args)
研究如何使基本java应用程序已经添加了publicstaticvoidmain(String[]args)但是我不太确定该放什么让它在哪里运行?我看不到它,很抱歉我忘了编辑它,但是在我添加了main之后,我不太确定如何调用该函数以使它完全按照错误所说的那样工作:main类中找不到main方法,请将main方法定义为:public static void main(String[]args)研究如何使基本java应用程序已经添加了公共静态void main(String[]args)但是我不太确定应该放什么来让它在哪里运行?我看不到它,很抱歉我忘了编辑它,但是在我添加了main之后,我不太确定如何调用该函数使其工作。当我尝试在mainvm中使用该函数时,我得到了一个parse错误,我让它工作,但是我试图弄清楚这段代码是如何工作的,为什么有人可以向我解释告诉我代码的哪一部分是操作数部分?我想看看我是否能使它像(+3)一样工作当我尝试在mainvm中使用parse时,我得到了一个错误,我让它工作了,但是我试图弄清楚这段代码是如何工作的,为什么有人能向我解释代码的哪一部分是操作数部分?我试图看看我是否能使它像(+3)一样工作