我正在开发一个项目,我需要将扫描程序从静态main方法传递到扫描程序读取的文本文件中的非静态方法,并让它返回一个浮点数。到目前为止,我有:
public class Calculator extends Stack{
public static void main (String []args) {
Scanner s = new Scanner(System.in);
try
{
s = new Scanner(new FileInputStream("numbers.txt"));
float z = calculate (s);
}
然后在我的计算方法中,它的声明只是public float calculate(Scanner s){
我知道类似的问题已被多次询问,但我只是没有得到它。什么让我失望的是,没有像节点那样创建新对象。
谢谢。
答案 0 :(得分:3)
您需要创建该类的实例。由于calculate()方法是非静态的,因此需要在类的实例上调用它。
public class Calculator extends Stack{
public static void main (String []args) {
Scanner s = new Scanner(System.in);
Calculator c = new Calculator();
try
{
s = new Scanner(new FileInputStream("numbers.txt"));
float z = c.calculate (s);
}