Java 如何运行这部分代码?
我在堆栈上找到了这段代码,我想在我的机器上试用,但它总是给我一个错误 在Main类中找不到Main方法,请将Main方法定义为: 公共静态void main(字符串[]args) 或者JavaFX应用程序类必须扩展JavaFX.application.application 谁能帮我想一想怎么办? 这是我想在我的机器上尝试的代码部分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) {
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)一样工作