1

我在我的 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概念?

4

2 回答 2

0

您的代码将显示相同的车牌 12 次。原因是因为您正在LicensePlateFactory为循环的每次迭代创建一个新的。您应该做的是将工厂的创建移到循环之外。

此外,这是一个小问题,但通常循环从 0 开始,除非你有很好的理由不这样做。

于 2012-12-15T18:29:32.040 回答
0

这里有一些提示:

  1. 创建PlateFactory具有一个字段的类:最后使用的车牌号和一个方法:getNextPlate()返回一个Plate
  2. 引入一个Plate带有一个字段的对象:车牌号,因为这个对象不能在不使用工厂的情况下被实例化(假设),它应该没有公共构造函数。我们还可以假设车牌号不能更改(最终字段,无二传手)。
  3. 为您的方法创建一个App类,main()并在此方法中创建PlateFactory实例,然后使用此实例 12 次以创建 12 个Plate(编号为 100001、100002 ......但工厂处理)。

一些阅读:

于 2012-12-15T18:29:44.470 回答