Java >> Tutoriel Java >  >> Java

Programme Java pour Shopping Bill

Écrire un programme Java pour Shopping Bill | Programme de facturation simple en Java | Écrivez un programme Java qui demandera à l'utilisateur d'entrer le prix et la quantité d'un article.

Ici, nous allons créer une classe Java "Produit" ayant les propriétés product_name, la quantité, le prix par article, le prix total pour cet article particulier. Ces propriétés ou champs seront privés afin que personne ne puisse y accéder directement. Pour créer l'objet, un seul constructeur avec toutes les propriétés sera là. À la fin de l'application, avant d'afficher le résultat, nous afficherons toutes les propriétés du produit, et pour cette raison, la méthode display() est utilisée pour avoir certains formats d'impression.

Valeurs d'entrée requises  :- nom_du_produit, quantité, prix par article
Exemple de sortie :-

Name      Quantity    Price   Total Price
Fan             2    1500.00    3000.00
Computer        1   50000.00   50000.00
Mobile          5    4000.00   20000.00
Book            3     100.00     300.00

Total Price = 73300.0

Programme Java pour le code de facture d'achat

Maintenant, développons d'abord le programme Java pour Shopping Bill, puis nous discuterons du code. Dans ce programme, nous utiliserons List et ArrayList de classes Java Collection.

package com.know.shop;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

class Product {
  // properties
  private String pname;
  private int qty;
  private double price;
  private double totalPrice;

  // constructor
  Product(String pname, int qty, 
              double price, double totalPrice) {
    this.pname = pname;
    this.qty = qty;
    this.price = price;
    this.totalPrice = totalPrice;
  }

  // getter methods
  public String getPname() {
    return pname;
  }
  public int getQty() {
    return qty;
  }
  public double getPrice() {
    return price;
  }
  public double getTotalPrice() {
    return totalPrice;
  }

  // displayFormat
  public static void displayFormat() {
    System.out.print(
        "\nName      Quantity    Price   Total Price\n");
  }

  // display
  public void display() {
    System.out.format("%-9s %8d %10.2f %10.2f\n", 
         pname, qty, price, totalPrice);
  }
}

public class ShoppingBill {
  public static void main(String[] args) {
    
    // variables
    String productName = null;
    int quantity = 0;
    double price = 0.0;
    double totalPrice = 0.0;
    double overAllPrice = 0.0;
    char choice = '\0';

    // create Scanner class object
    Scanner scan = new Scanner(System.in);

    List<Product> product = new ArrayList<Product>();

    do {
      // read input values
      System.out.println("Enter product details,");
      System.out.print("Name: ");
      productName = scan.nextLine();
      System.out.print("Quantity: ");
      quantity = scan.nextInt();
      System.out.print("Price (per item): ");
      price = scan.nextDouble();

      // calculate total price for that product
      totalPrice = price * quantity;

      // calculate overall price
      overAllPrice += totalPrice;

      // create Product class object and add it to the list
      product.add( new Product(
          productName, quantity, price, totalPrice) );

      // ask for continue?
      System.out.print("Want to add more item? (y or n): ");
      choice = scan.next().charAt(0);

      // read remaining characters, don't store (no use)
      scan.nextLine();
    } while (choice == 'y' || choice == 'Y');

    // display all product with its properties
    Product.displayFormat();
    for (Product p : product) {
      p.display();
    }

    // overall price
    System.out.println("\nTotal Price = " + overAllPrice);

    // close Scanner
    scan.close();
  }

}

Sortie :-

Entrez les détails du produit,
Nom :Fan
Quantité :2
Prix (par article) :1500
Vous voulez ajouter plus d'articles ? (y ou n) :y
Entrez les détails du produit,
Nom : Ordinateur
Quantité :1
Prix (par article) :50 000
Vous souhaitez ajouter d'autres articles ? (y ou n) :y
Entrez les détails du produit,
Nom : Mobile
Quantité :5
Prix (par article) :4 000
Vous souhaitez ajouter d'autres articles ? (y ou n) :y
Entrez les détails du produit,
Nom :Livre
Quantité :3
Prix (par article) :100
Vous souhaitez ajouter d'autres articles ? (o ou n) :n

Name Quantity Price Total Price
Fan 2 1500.00 3000.00
Computer 1 50000.00 50000.00
Mobile 5 4000.00 20000.00
Book 3 100.00 300.00


Prix total =73300.0

Dans la classe Product, nous avons utilisé des méthodes getter (getXxx() ) pour obtenir les valeurs. Étant donné que pour définir les valeurs des propriétés, nous utilisons des constructeurs et ne modifions pas les détails du produit après la saisie, nous n'utilisons donc pas de méthodes de définition (setXxx() ). Pour afficher les détails du produit plutôt que de remplacer la méthode toString(), nous utilisons la méthode format(). La méthode format() fonctionne de manière similaire à printf() en C, et nous pouvons également utiliser printf() en Java. System.out.printf("...") et  System.out.format("...") fonctionnent de manière très similaire.

Dans la classe ShoppingBill, nous avons pris toutes les variables requises et créé l'objet de classe Scanner pour lire l'entrée. Pour rendre la taille du produit dynamique, nous utilisons une collection plutôt qu'un tableau normal. Nous utilisons la boucle do-while pour répéter le processus, qui se poursuivra jusqu'à ce que vous le souhaitiez. Dans la boucle do-while, nous lisons d'abord les valeurs d'entrée (nom, quantité et prix par article). Ensuite, nous calculons le prix total et l'ajoutons au prix global.

Maintenant, en utilisant ces 4 propriétés, créez un objet de la classe Product et ajoutez-le à la collection. Après cela, a demandé à l'utilisateur de continuer. Enfin, tous les détails du produit sont affichés et le prix global est affiché.


Balise Java