我在使用Java类中的程序时遇到问题,它应该相对简单,但我发现它很难。
“编写一个生成许可证的类LicensePlateFactory 板。提供返回唯一的方法getNextPlate 车牌号码(一个int)。全部使用序号 LicencePlateFactory创建的牌照,从 100001。
编写一个创建LicensePlateFactory的程序 从中获取并显示十几个连续牌照。“
我的代码(看起来很糟糕,在盯着这个问题很长一段时间后不知道该怎么做): 工厂:
public class LicensePlateFactory
{
private int k = 100001;
private int count;
public LicensePlateFactory(int x)
{
this.count++;
}
public static void main(String[] args)
{
getnextPlate();
}
public int getnextPlate()
{
return k + count;
}
}
创建工厂的程序:
public class LicensePlateFactoryRunner
{
private LicensePlateFactory fac;
public LicensePlateFactoryRunner()
{
for (int x = 1; x < 13; x++)
{
LicensePlateFactory fac = new LicensePlateFactory();
System.out.println(LicensePlateFactory.getnextPlate());
}
}
}
也许我忘记了一些基本的java概念?
答案 0 :(得分:0)
您的代码将显示相同的牌照12次。原因是因为你为循环的每次迭代创建了一个新的LicensePlateFactory
。你应该做的是将工厂的创建移到循环之外。
此外,这是一个小狡辩,但通常循环从0开始,除非你有充分的理由不这样做。
答案 1 :(得分:0)
以下是一些提示:
PlateFactory
类:最后使用的板号和一个方法:getNextPlate()
返回Plate
Plate
对象:板号,因为在不使用工厂的情况下无法实例化(假设)此对象,它应该没有公共构造函数。我们还可以假设板号不能更改(最终字段,没有设置器)。App
方法创建一个main()
类,并在此方法中创建PlateFactory
实例,然后使用此实例12次创建12 Plate
(编号为100001) ,100002,...但工厂处理那个)。一些阅读: