Короткий проект: Инвентарь электроники - PullRequest
1 голос
/ 21 марта 2019

Я делаю свой короткий проект, который действует как тип электронного магазина инвентаря.Вот список номера, описания, количества и цены товара из текстового файла:

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");

Inventorystock.java

public class InventoryItem {

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

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;
} }

У меня не получается понять, как получить общую стоимость каждого предмета.Вот что мне нужно, чтобы результат выглядел следующим образом

Ожидаемый результат:

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

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Добавьте другое свойство в классе 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);
 }
}

Вы можете сохранить информацию об элементах инвентаря в виде строки или списка, как показано в методе printDetails. Надеюсь, этот метод printDetails решил вашу проблему. Если вы действительно хотите сохранить сведения об элементе в виде строки, вы можете сохранить все сведения об элементе в виде массива строк.

Убедитесь, что импортировали необходимые библиотеки и классы моделей следующим образом.

import java.util.List;
import java.util.ArrayList;
import <package>.InventoryItem;
0 голосов
/ 22 марта 2019

Создайте метод, который берет общее количество товара, умножает его на стоимость единицы, а затем возвращает результат. Добавьте следующий код в свой класс InventoryItem.

 public double getTotalValueOfItem()
 {
      return unitCost * quantity;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...