2016-10-03 2 views
0

ich eine TXT-Datei mit Daten wie dieseLesen von Daten aus einer txt-Datei, um ein Objekt erstellen, fügen die Sammlung

016-023 
Gallon 2% Milk 
10 
2.49 
016-043 
Saltine Crackers 
20 
1.49 
019-011 
Paper Towels 
15 
2.23 

Ich brauche Produktdaten (Produktcode, Bezeichnung, Menge zu lesen, aufgeführt gegeben bin und Preis) Werte aus einer Textdatei, erstellen Sie ein Objekt aus dem Produktcode, Beschreibung, Menge und Preis, und verwenden Sie die addProduct() Methode, um das neue Produktobjekt in seine Produktkollektion mit einem ArrayList hinzuzufügen. Diese

ist, was ich habe, so weit und die Hilfe benötigen, die readProducts() Methode Veredelung:

public class Inventory 
{ 
    private ArrayList<Product> products; 

    /** 
    * Initialize the list of products in our inventory. 
    */ 
    public Inventory() 
    { 
     products = new ArrayList<Product>(); 
    } 

    /** 
    * Adds a product to inventory. 
    * @param p the product to add 
    */ 
    public void addProduct(Product p) 
    { 
     products.add(p); 
    } 
    /** 
    * Load the products from the given file. 
    * @param in - Scanner from which to read product information 
    */ 
    public void readProducts(Scanner in) 
    { 

    } 
} 
+1

1. eine Produktklasse erstellen –

+0

ich den Beitrag aktualisiert haben, ist es nun überprüfen Sie bitte – sparkles

+0

Ich weiß, eine Aufgabe, wenn ich eine sehe. Sie haben bisher keine Funktionalitäten implementiert. Versuchen Sie es selbst und wenn Sie nicht weiterkommen, schreiben Sie die Frage hier. Ich werde Sie in die richtige Richtung zeigen, um Inhalte aus einer Datei zu lesen. Versuchen Sie, "FileReader Class in Java" zu googlen und implementieren Sie die Methode selbst :) –

Antwort

1

Hinweis

Dies ist nur ein Beispiel: das Design ein Thema der Verbesserung.

Produktklasse

import java.math.BigDecimal; 

final class Product { 
    private final String productCode; 
    private final String description; 
    private final int quantity; 
    private final BigDecimal price; 

    public Product(String productCode, String description, int quantity, BigDecimal price) { 
     this.productCode = productCode; 
     this.description = description; 
     this.quantity = quantity; 
     this.price = price; 
    } 
} 

Inventar Klasse

final class Inventory { 
    // … 

    public void readProducts(Scanner scanner) { 
     while (scanner.hasNext()) { 
      final Product product = readProduct(scanner); 
      products.add(product); 
     } 
    } 

    private static Product readProduct(Scanner scanner) { 
     final String productCode = scanner.nextLine(); 

     final String description = scanner.nextLine(); 

     final int quantity = scanner.nextInt(); 
     scanner.nextLine(); 

     final BigDecimal price = scanner.nextBigDecimal(); 
     scanner.nextLine(); 

     final Product product = new Product(productCode, description, quantity, price); 
     return product; 
    } 
} 

Programmklasse

import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 

final class Program { 
    public static void main(String[] args) throws FileNotFoundException { 
     final Inventory inventory = new Inventory(); 
     try (final Scanner scanner = new Scanner(new File("/path/to/file"), "UTF-8")) { 
      inventory.readProducts(scanner); 
     } 

     // Use the inventory… 
    } 
} 
Verwandte Themen