我使用以下代码实现了计算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
答案 0 :(得分:0)
nextInt()可以是一个戏剧家,在ing = in.nextInt()之后尝试做一个空的in.nextLine()语句;让我知道你是怎么走的。