将扫描程序从静态传递到非静态并返回浮动java

时间:2013-03-12 06:03:46

标签: java static java.util.scanner floating non-static

我正在开发一个项目,我需要将扫描程序从静态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){我知道类似的问题已被多次询问,但我只是没有得到它。什么让我失望的是,没有像节点那样创建新对象。 谢谢。

1 个答案:

答案 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);

    }