Java 短期项目:电子产品库存

Java 短期项目:电子产品库存,java,arrays,for-loop,arraylist,Java,Arrays,For Loop,Arraylist,我正在做我的短期项目,作为一种电子商店库存。以下是文本文件中的项目编号、说明、数量和价格列表: 65321,Tablet,54,150.00 91524,Monitors,24,125.50 25013,Printers,30,65.75 32841,Router,67,90.15 53214,Modem,50,50.50 26442,Hard Drive,14,40.89 30224,Power Supplies,44,125.44 41557,CPU,39,149.54 71561,Head

我正在做我的短期项目,作为一种电子商店库存。以下是文本文件中的项目编号、说明、数量和价格列表:

65321,Tablet,54,150.00
91524,Monitors,24,125.50
25013,Printers,30,65.75
32841,Router,67,90.15
53214,Modem,50,50.50
26442,Hard Drive,14,40.89
30224,Power Supplies,44,125.44
41557,CPU,39,149.54
71561,Headphones,40,75.24
这就是我到目前为止所做的:

InventoryCalculate.java

ArrayList<BookItem> inventory = new ArrayList<>();
        BufferedReader inFile = new BufferedReader(new FileReader("C:\\Users\\Documents\\Data\\stock.txt"));
        String line;
        line = input.nextLine();
        String[] tokens = line.split(",");
        int itemNumber = Integer.parseInt(tokens[0]);
        String description = tokens[1];
        int quantity = Integer.parseInt(tokens[2]);
        double unitCost = Double.parseDouble(tokens[3]);

        System.out.println("Inventory Item");
        System.out.println("Number  Description           Quantity  Unit Price          Value");
我很难计算出每件物品的总价值。这里我需要看到的结果是这样的

预期产出:

Number  Description           Quantity  Unit Price         Value
 65321  Tablets                     54      150.00      8,100.00
 91524  Monitors                    24      125.50      3,012.00
 25013  Printers                    30       65.75      1,972.50
 32841  Routers                     67       90.15      6,040.05
 53214  Modems                      50       50.50      2,525.00
 26442  Hard Drives                 14       40.89        572.46
 30224  Power Supplies              44      125.44      5,519.36
 41557  CPU                         39      149.54      5,832.06
 71561  Headphones                  40       75.24      3,009.60

创建一个方法,获取项目的总数量,乘以单位成本,然后返回结果。将以下代码添加到InventoryItem类中

 public double getTotalValueOfItem()
 {
      return unitCost * quantity;
 }

创建一个方法,获取项目的总数量,乘以单位成本,然后返回结果。将以下代码添加到InventoryItem类中

 public double getTotalValueOfItem()
 {
      return unitCost * quantity;
 }

在InventoryItem类中添加另一个属性作为totalValue,并使用逻辑添加setter、getter方法。在显示详细信息的方法中保留总值计算的最佳方法

public class InventoryItem {

    private int itemNumber;
    private String description;
    private int quantity;
    private double unitCost;
    private double totalValue;

    public InventoryItem(int itemNumber, String description, int quantity, double unitCost) {
        this.itemNumber = itemNumber;
        this.description = description;
        this.quantity = quantity;
        this.unitCost = unitCost;
    }

    public int getItemNumber() {
        return itemNumber;
    }

    public void setItemNumber(int itemNumber) {
        this.itemNumber = itemNumber;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

    public double getUnitCost() {
        return unitCost;
    }

    public void setUnitCost(double unitCost) {
        this.unitCost = unitCost;
    }     

    public double getTotalValue() {
        return totalValue;
    }

    public void setTotalValue(int quantity, double unitCost) {
        this.totalValue = (double) quantity * unitCost;
    } 

}
您可以添加此方法以打印项目详细信息

public void printDetails() {
 System.out.println("Number\tDescription\tQuantity\tUnit Price\tValue");
 List < InventoryItem > inventoryItemsList = new ArrayList < InventoryItem > ();
 inventoryItemsList.add(new InventoryItem(1, "description 1", 2, 50.0));
 inventoryItemsList.add(new InventoryItem(2, "description 2", 3, 40.0));
 for (InventoryItem item: inventoryItemsList) {
     System.out.println(item.itemNumber + "\t" + item.description + "\t" + item.quantity + "\t" + item.unitCost + "\t" + item.totalValue);
 }
}
public void printDetails(){
System.out.println(“数字\t说明\t数量\t价格\t价值”);
ListinventoryItemsList=new ArrayList();
inventoryItemsList.add(新的InventoryItem(1,“说明1”,2,50.0));
inventoryItemsList.add(新的InventoryItem(2,“说明2”,3,40.0));
for(InventoryItem项目:inventoryItemsList){
系统.out.println(item.itemNumber+“\t”+item.description+“\t”+item.quantity+“\t”+item.unitCost+“\t”+item.totalValue);
}
}
您可以将库存项目的详细信息存储为字符串或列表,如printDetails方法中所示。希望这个“printDetails”方法解决了您的问题。如果确实希望将项目详细信息存储为字符串,则可以将所有项目详细信息存储到字符串数组中

确保按以下方式导入所需的库和模型类

import java.util.List;
import java.util.ArrayList;
import <package>.InventoryItem;
import java.util.List;
导入java.util.ArrayList;
进口.库存项目;

在InventoryItem类中添加另一个属性作为totalValue,并使用逻辑添加setter、getter方法。在显示详细信息的方法中保留总值计算的最佳方法

public class InventoryItem {

    private int itemNumber;
    private String description;
    private int quantity;
    private double unitCost;
    private double totalValue;

    public InventoryItem(int itemNumber, String description, int quantity, double unitCost) {
        this.itemNumber = itemNumber;
        this.description = description;
        this.quantity = quantity;
        this.unitCost = unitCost;
    }

    public int getItemNumber() {
        return itemNumber;
    }

    public void setItemNumber(int itemNumber) {
        this.itemNumber = itemNumber;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

    public double getUnitCost() {
        return unitCost;
    }

    public void setUnitCost(double unitCost) {
        this.unitCost = unitCost;
    }     

    public double getTotalValue() {
        return totalValue;
    }

    public void setTotalValue(int quantity, double unitCost) {
        this.totalValue = (double) quantity * unitCost;
    } 

}
您可以添加此方法以打印项目详细信息

public void printDetails() {
 System.out.println("Number\tDescription\tQuantity\tUnit Price\tValue");
 List < InventoryItem > inventoryItemsList = new ArrayList < InventoryItem > ();
 inventoryItemsList.add(new InventoryItem(1, "description 1", 2, 50.0));
 inventoryItemsList.add(new InventoryItem(2, "description 2", 3, 40.0));
 for (InventoryItem item: inventoryItemsList) {
     System.out.println(item.itemNumber + "\t" + item.description + "\t" + item.quantity + "\t" + item.unitCost + "\t" + item.totalValue);
 }
}
public void printDetails(){
System.out.println(“数字\t说明\t数量\t价格\t价值”);
ListinventoryItemsList=new ArrayList();
inventoryItemsList.add(新的InventoryItem(1,“说明1”,2,50.0));
inventoryItemsList.add(新的InventoryItem(2,“说明2”,3,40.0));
for(InventoryItem项目:inventoryItemsList){
系统.out.println(item.itemNumber+“\t”+item.description+“\t”+item.quantity+“\t”+item.unitCost+“\t”+item.totalValue);
}
}
您可以将库存项目的详细信息存储为字符串或列表,如printDetails方法中所示。希望这个“printDetails”方法解决了您的问题。如果确实希望将项目详细信息存储为字符串,则可以将所有项目详细信息存储到字符串数组中

确保按以下方式导入所需的库和模型类

import java.util.List;
import java.util.ArrayList;
import <package>.InventoryItem;
import java.util.List;
导入java.util.ArrayList;
进口.库存项目;

到底有什么困难?您是否在问如何根据150的单价和54的数量获得8100的价值?为什么您认为需要将此值设置为8100。你不需要设置它。你需要得到它才能打印出来。我的意思是如何得到每个项目的总价值。对不起,我只是打错了。一个香蕉要5美元,你买4个香蕉,你需要付多少钱?5*4. 这是一个简单的乘法。彼此彼此。你有54片。每台150美元。所以总数是54*150=8100。这真的是你要问的吗?是的,这就是我的意思。到底有什么困难?您是否在问如何根据150的单价和54的数量获得8100的价值?为什么您认为需要将此值设置为8100。你不需要设置它。你需要得到它才能打印出来。我的意思是如何得到每个项目的总价值。对不起,我只是打错了。一个香蕉要5美元,你买4个香蕉,你需要付多少钱?5*4. 这是一个简单的乘法。彼此彼此。你有54片。每台150美元。所以总数是54*150=8100。这真的是你要问的吗?是的,这就是我的意思。我就是这么想的。另一个问题:我想知道如何将这四条信息(项目编号、描述、数量、价格和总值)存储到一行中(查看我的预期输出)。@BeckyLin我添加了“printDetails”方法,如果在控制台/终端中显示,则需要为\t-选项卡空间使用不同的内容。在这里,我使用ArrayList只是为了演示。我刚刚在InventoryCalculate.java中添加了它,但是(InventoryItem:inventoryItemsList)的
上出现了红线。
您必须导入以下库java.util.List和java.util.ArrayList。希望你已经补充了这一点。这应该是另一个问题。inventoryItemsList的类型是什么?应该是ArrayList,我就是这么想的。另一个问题:我想知道如何将这四条信息(项目编号、描述、数量、价格和总值)存储到一行中(查看我的预期输出)。@BeckyLin我添加了“printDetails”方法,如果在控制台/终端中显示,则需要为\t-选项卡空间使用不同的内容。在这里,我使用ArrayList只是为了演示。我刚刚在InventoryCalculate.java中添加了它,但是(InventoryItem:inventoryItemsList)的
上出现了红线。
您必须导入以下库java.util.List和java.util.ArrayList。希望你已经补充了这一点。这应该是另一个问题。inventoryItemsList的类型是什么?它应该是一个数组列表。