带有for循环的Java面试任务

时间:2013-04-03 17:31:31

标签: java for-loop

我在面试时遇到了这个问题,我想知道其他人如何解决这个问题。问题是有一个类拍卖,你不能以任何方式修改它。输出必须始终如下所示(项目只能出售一次)

ITEM #1: SOLD!
ITEM #2: SOLD!
END

没有给出Item类实现,所以我可以编写自己的类。还必须从拍卖类内打印输出。我正在为这个问题要求Java代码解决方案。

public class Auction {

  public static void main(String[] args) {

    for (int i = 0; i < (Math.random() * 100) + 2; i++) 
      if (Item.sell())
        System.out.println("ITEM #1: SOLD!");

    for (int i = 0; i < (Math.random() * 100) + 2; i++)
      if (Item.sell()) 
        System.out.println("ITEM #2: SOLD!");

    System.out.println("END");
  }
}

2 个答案:

答案 0 :(得分:1)

这是一个不使用System.exit

的解决方案
public class Item {
  private static int numItems = 2;

  public static boolean sell() {
    if(numItems > 0) {
      numItems -= 2;
      System.out.println("ITEM #1: SOLD!");
      System.out.println("ITEM #2: SOLD!");
    }
    return false;
  }
}

另外,不要为这家公司工作,这个问题很愚蠢。

答案 1 :(得分:1)

我想到的最简单的事情......

public class Item {
    public static boolean sell() {
        System.out.println("ITEM #1: SOLD!");
        System.out.println("ITEM #2: SOLD!");
        System.out.println("END");
        System.exit(0);
    }
}