从课外读取扫描器参数

时间:2014-05-06 05:59:04

标签: java java.util.scanner

我使用以下代码实现了计算Series(triangle,fibonacci等)的工厂模式。但是,我的扫描仪输入没有被读取。 这是解释的代码。

public interface Series {
    void calculate();

}

public class SeriesFactory {

    public Series getSeries(String series,int length) {
        // TODO Auto-generated constructor stub
        System.out.println("-------------- " + series);

        System.out.println("-------------- " + length);



            if(series=="fibonacci")
            return new Fibonacci();
            else if(series=="triangle")
            return new Triangle();
            return null;
    }

}

public class Triangle implements Series {

    public Triangle() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void calculate() {
        System.out.println("I am in triangle");

    }

}

主:

import java.util.Scanner;

public class Series_Main {
    public static void main(String[] args) {
        String s="";
        int ing=0;
        Scanner in=new Scanner(System.in);
        s=in.next();
        ing=in.nextInt();
        toString(ing, s);    
    }
    public static void toString(int a, String s) { 
        System.out.println("The number is "+a+", and the word is "+s); 
        SeriesFactory seriesFactory=new SeriesFactory();
        Series series1=seriesFactory.getSeries(s,a);
        series1.calculate();
    } 
}

我的问题是main方法确实传递了我在命令提示符下给出的参数,但它没有进入三角形类的draw方法。 我给出了以下论点:

  

三角形1

1 个答案:

答案 0 :(得分:0)

nextInt()可以是一个戏剧家,在ing = in.nextInt()之后尝试做一个空的in.nextLine()语句;让我知道你是怎么走的。