Java 我的构造器坏了,有人能帮我解决这个问题吗?
构造函数似乎没有将值放入表达式变量中。如果它这样做了,则不会正确地将其传递给标记器。当我调试时,它似乎只是传递了构造函数中的行。我对我编写的代码的理解是,构造函数主要被调用。字符串应该存储在解析器中的表达式变量中,然后表达式应该被传递给标记器,但当表达式变量被传递时,它是空的。我需要将字符串存储在表达式变量中,然后再将其传递给标记器Java 我的构造器坏了,有人能帮我解决这个问题吗?,java,Java,构造函数似乎没有将值放入表达式变量中。如果它这样做了,则不会正确地将其传递给标记器。当我调试时,它似乎只是传递了构造函数中的行。我对我编写的代码的理解是,构造函数主要被调用。字符串应该存储在解析器中的表达式变量中,然后表达式应该被传递给标记器,但当表达式变量被传递时,它是空的。我需要将字符串存储在表达式变量中,然后再将其传递给标记器 public class Parser { String expression; Tokenizer tokenizer = new Tokeniz
public class Parser {
String expression;
Tokenizer tokenizer = new Tokenizer(expression);
Parser(String e) {
this.expression = e;
}
}
public static void main(String[] args) {
// TODO code application logic here
Parser parser = new Parser("3+5");
}
标记器标记器=新的标记器表达式//问题就在这里 您正在使用空表达式创建标记器
public class Parser {
String expression;
Tokenizer tokenizer =null;
Parser(String e) {
this.expression = e;
tokenizer = new Tokenizer(expression);
}
}
public static void main(String[] args) {
// TODO code application logic here
Parser parser = new Parser("3+5");
}
标记器标记器=新的标记器表达式//问题就在这里 您正在使用空表达式创建标记器
public class Parser {
String expression;
Tokenizer tokenizer =null;
Parser(String e) {
this.expression = e;
tokenizer = new Tokenizer(expression);
}
}
public static void main(String[] args) {
// TODO code application logic here
Parser parser = new Parser("3+5");
}
在对象初始化期间,首先初始化字段。所以在田野里
String expression;
Tokenizer tokenizer = new Tokenizer(expression);
作为参数传递给标记器构造函数的表达式的值实际上是默认值null
在表达式正确/完全初始化后,即在类的构造函数中,需要初始化标记器字段
Parser(String e) {
this.expression = e;
this.tokenizer = new Tokenizer(expression /* or e */);
}
在对象初始化期间,首先初始化字段。所以在田野里
String expression;
Tokenizer tokenizer = new Tokenizer(expression);
作为参数传递给标记器构造函数的表达式的值实际上是默认值null
在表达式正确/完全初始化后,即在类的构造函数中,需要初始化标记器字段
Parser(String e) {
this.expression = e;
this.tokenizer = new Tokenizer(expression /* or e */);
}
不要害怕将表达式传递给标记器,字符串是不可变的:-不要害怕将表达式传递给标记器,字符串是不可变的:-