当前位置: 首页 > 知识库问答 >
问题:

相似物体数量

严狐若
2023-03-14
import java.util.Date;

public class MyRestaurantTester {

public static void main(String[] args) {
    Date currentDate = new Date();
    Paraggelia order1 = new Paraggelia(currentDate,"11B");
    Product Beer = new Product("Amstel","111222",1.20f);
    Product Beef = new Product("Pork Beef","333444",8.50f);

    order1.add(Beer);
    order1.add(Beef);
    System.out.println(order1.getReceipt(30f));

}

}
import java.util.ArrayList;
import java.util.Date;

/*Notes to self:
 * -Work on Comments
 * -Javadocs maybe? 
 * -try to optimize the rough code.
 */

/*Order class*/
public class Paraggelia {

    private Date orderDate;
    private String tableNumber;
    private int customerCount;
    private ArrayList<Product> listOfItems;

    /*Constructor(s)*/

    Paraggelia(Date orderDate,String tableNumber){
        this.orderDate=orderDate;
        this.tableNumber=tableNumber;
        this.listOfItems = new ArrayList<Product>();
    }


    /*Add && Delete Products from the Order class*/

    public void add(Product p){
        if(p == null)
        {
            throw new IllegalArgumentException();
        }else{
        listOfItems.add(p);
        }
    }

    public void delete(Product p){
        if(p == null)
        {
            throw new IllegalArgumentException();
        }
        else
        {
            listOfItems.remove(p);
        }
    }

    /** Calculates and returns the total price
     * Usually called directly as a parameter of getReceipt function
     * */
    public static float getTotalPrice(){

        return 0;
    }

    /** Creates and returns the final Receipt! 
     * -Display must consist of:
     * Item$ - BarCode# - Item Amount#
     * Total Price#
     * Table Number#
     */
    public  String getReceipt(float totalPrice){
        StringBuilder receipt = new StringBuilder();
        for(int i =0; i<this.listOfItems.size();i++){
        receipt.append(listOfItems.get(i).getName());
        receipt.append("\n");
        }

        return new String(receipt);
    }


    /*Getters && Setters */
    public Date getOrderDate() {
        return orderDate;
    }
    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }
    public String getTableNumber() {
        return tableNumber;
    }
    public void setTableNumber(String tableNumber) {
        this.tableNumber = tableNumber;
    }
    public int getCustomerCount() {
        return customerCount;
    }
    public void setCustomerCount(int customerCount) {
        this.customerCount = customerCount;
    }

}

产品类别:

public class Product {

    private String Name;
    private String barCode;
    private float sellingPrice;

    /*Constructors: */
    Product(){}

    Product(String Name,String barCode,float sellingPrice){
        this.Name=Name;
        this.barCode=barCode;
        this.sellingPrice=sellingPrice;             
    }

    /*Getters & Setters*/
    public String getName() {
        return Name;
    }

    public void setName(String name) {
        Name = name;
    }

    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public float getSellingPrice() {
        return sellingPrice;
    }

    public void setSellingPrice(float sellingPrice) {
        this.sellingPrice = sellingPrice;
    }

}

共有1个答案

凤扬
2023-03-14

您可以使用Map(例如HashMap)代替ArrayList(List)

MyRestaurantTester

public class MyRestaurantTester {

    public static void main(String[] args) {
        Date currentDate = new Date();
        Paraggelia order1 = new Paraggelia(currentDate,"11B");
        Product Beer = new Product("Amstel","111222",1.20f);
        Product Beef = new Product("Pork Beef","333444",8.50f);

        order1.add(Beer, 1);
        order1.add(Beef, 5);
        System.out.println(order1.getReceipt(30f));

    }

}

肺结核

class Paraggelia {

    private Date orderDate;
    private String tableNumber;
    private int customerCount;
    private Map<Product, Integer> listOfItems;

    /*Constructor(s)*/

    Paraggelia(Date orderDate,String tableNumber){
        this.orderDate=orderDate;
        this.tableNumber=tableNumber;
        this.listOfItems = new HashMap<Product, Integer>();
    }


    /*Add && Delete Products from the Order class*/

    public void add(Product p, int quantity){
        if(p == null)
        {
            throw new IllegalArgumentException();
        }else{
            listOfItems.put(p, quantity);
        }
    }

    public void delete(Product p){
        if(p == null)
        {
            throw new IllegalArgumentException();
        }
        else
        {
            listOfItems.remove(p);
        }
    }

    /** Calculates and returns the total price
     * Usually called directly as a parameter of getReceipt function
     * */
    public static float getTotalPrice(){

        return 0;
    }

    /** Creates and returns the final Receipt!
     * -Display must consist of:
     * Item$ - BarCode# - Item Amount#
     * Total Price#
     * Table Number#
     */
    public  String getReceipt(float totalPrice){
        StringBuilder receipt = new StringBuilder();

        for(Map.Entry<Product,Integer> entry : this.listOfItems.entrySet()) {
            Product product = entry.getKey();
            Integer quantity = entry.getValue();

            receipt.append(product.getName() + " " + quantity);
            receipt.append("\n");
        }

        return new String(receipt);
    }


    /*Getters && Setters */
    public Date getOrderDate() {
        return orderDate;
    }
    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }
    public String getTableNumber() {
        return tableNumber;
    }
    public void setTableNumber(String tableNumber) {
        this.tableNumber = tableNumber;
    }
    public int getCustomerCount() {
        return customerCount;
    }
    public void setCustomerCount(int customerCount) {
        this.customerCount = customerCount;
    }

}

产出:

 类似资料:
  • 我正在用LibGDX做一个游戏,还有LibGDX,它附带的Box2D包装器。具体来说,我的游戏是2D侧滚。 我的问题是我的玩家雪碧。我需要玩家非常精确的移动,所以我决定设置它,当玩家按下箭头键时,它会调用,然后当他们停止按键时,它会将他们的线速度重置为0。 在我的游戏中,我有重力。为了确保玩家在左右移动时摔倒,我创建了方法: 当我的球员自由落体时,这很好用。然而,当我的玩家碰到任何静止的物体(包括

  • 我知道关于这个话题已经有了一些答案,但我不太清楚如何测量相机和物体之间的距离。 我的目标是: 我用OpenCV通过颜色检测成功地追踪了一个红色的球。现在我试着在红球的中间点一个激光。当红球移动时,激光器应始终跟随红球。我用一个小伺服电机来转动激光。 我在想,如果我能测量物体和相机之间的距离,我就能计算出伺服需要转动的角度。。。 我试图跟踪卡梅伦·洛厄尔·帕尔默的帖子。 我所做的: 我校准了我的Pi

  • 问题内容: 我正在使用ARCore和Sceneform进行Android AR项目。我需要把对象 从30米200米远 从用户的摄像头和面临的 视锥剔除 在ARCORE问题,说明这里。 我正在尝试使用此方法设置 投影矩阵 以增加参数 但是我找不到设置渲染投影矩阵的可能性。 这是我的代码: 方法包含注释。因此,我不确定是否应该使用它,并且可以保证它会起作用。 请提出建议,我是否可以通过其他方式做到这一

  • 问题内容: 使用three.js我有以下内容。 包含多个Object3D实例的场景 几个预定义的摄像机Vector3位置 屏幕调整大小时画布的动态宽度/高度 用户可以选择一个对象(从上方) 用户可以选择相机位置(从上方) 给定正在查看的对象和摄像机位置,他们选择了如何计算最终摄像机位置以“最适合”屏幕上的对象? 如果在某些屏幕上按原样使用摄像机位置,则对象在我的视口边缘上流血,而其他对象看起来较小

  • 我正在试图找出设置实体图的最佳方法。我将基于下面的图像进行解释。 TBLParentCustomer:此表存储主要客户的信息,主要客户可以是企业或消费者。(使用查找表TBLCustomerType标识这些客户。) TBLChildCustomer:此表存储主客户下的客户。主要业务客户可以有授权员工和授权代表,主要消费客户可以有授权用户。(它们是使用查找表TBLCustomerType标识的。) T

  • 我试着让两个立方体以不同的方式旋转。 为了设置旋转,我这样做。 在多维数据集类内部,我没有使用GL11.glLoadId相()来重置旋转,而是做了这样的事情。 这将重置每个轴的旋转。 数组“rot”保存x、y和z旋转,并通过多维数据集类中的这3种方法进行更新。 单独地,每个GL11.glRotatef(etc, etc, etc)和GL11.glRotatef(etc*-1.0f, etc, et