1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Virtual Shopping pptx

7 215 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Virtual Shopping
Định dạng
Số trang 7
Dung lượng 54,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Virtual Shopping// Lớp trừu tượng ShopItem package virtualshopping; abstract class ShopItem { protected String iName; // khai bao ten hang hoa protected double iPrice; // khai bao gia ha

Trang 1

Virtual Shopping

// Lớp trừu tượng ShopItem

package virtualshopping;

abstract class ShopItem {

protected String iName; // khai bao ten hang hoa

protected double iPrice; // khai bao gia hang hoa

// xay dung constructor khong doi

public ShopItem() {

}

// xay dung constructor 2 doi

public ShopItem(String iName, double iPrice){

this.iName = iName;

this.iPrice = iPrice;

}

// ham lay ten hang

public String getName(){

return this.iName;

}

// ham lay gia hang

public double getPrice(){

return this.iPrice;

}

public abstract String toString();

// ham lay khoi luong

public abstract double getWeight();

// ham lay so dia CD

public abstract int getNoCD();

}

//Lớp Book thừa kế từ Lớp ShopItem

package virtualshopping;

class Book extends ShopItem{

private double bWeight; // khai bao thuoc tinh khoi luong cua book

// xay dung mot constructor khong doi

public Book(){

super();

}

// xay dung mot constructor 3 doi

public Book(String bName, double bPrice, double bWeight){

super(bName,bPrice);

this.bWeight = bWeight;

}

public String toString(){

return "Book Title: \""+this.iName+"\", Price: $"+this.iPrice+", Weight: "+this.bWeight;

Trang 2

// ham lay khoi luong cua book

public double getWeight(){

return this.bWeight;

}

// ham lay so dia CD

public int getNoCD(){

return 0;

}

}

//Lớp Software thừa kế từ lớp ShopItem

package virtualshopping;

class Software extends ShopItem{

private int numOfCD; // khao bao so dia CD

// khai bao constructor khong doi

public Software() {

super();

}

// khai bao constructor 3 doi

public Software(String sName, double sPrice, int numOfCD){

super(sName,sPrice);

this.numOfCD = numOfCD;

}

public String toString(){

return "Software Title: \""+this.iName+"\", Price: $"+this.iPrice+ ", Quantity: "+this.numOfCD; }

// ham lay khoi luong

public double getWeight(){

return 0;

}

// ham lay so dia CD

public int getNoCD(){

return this.numOfCD;

}

}

//package Shop;

package virtualshopping;

import java.util.Vector;

class Basket implements Cost{

// khai bao vector

private Vector<ShopItem> cart;

// condtructor khong doi, khoi tao vector

Trang 3

public Basket(){

cart = new Vector<ShopItem>(10,5);

}

// them mot mon hang vao gio hang

public void add(ShopItem I){

this.cart.add(I);

}

// bo bot mot mon hang ra khoi gio hang

public void remove(int index){

this.cart.removeElementAt(index);

}

// ham tinh tong chi phi

public double totalPrice(){

double totalPrice = 0.0;

for(int i = 0;i < this.cart.size();i++)

totalPrice +=this.cart.elementAt(i).getPrice();

return totalPrice;

}

// ham tinh tong trong luong

public double totalWeight(){

double totalWeight = 0.0;

for(int i = 0;i < this.cart.size();i++)

totalWeight +=this.cart.elementAt(i).getWeight();

return totalWeight;

}

// ham tinh tong so luong CD

public int totalCD(){

int totalCD = 0;

for(int i = 0;i < this.cart.size();i++)

totalCD +=this.cart.elementAt(i).getNoCD();

return totalCD;

}

// ham tinh toan chi phi dong goi - van chuyen cua book và software

public double bookPP(){

double totalWeight = this.totalWeight();

double bookPP = 0.0;

if(totalWeight > 0 && totalWeight < BOOK_WEIGHT1){

bookPP = BOOK_PP1;

}

if(totalWeight >= BOOK_WEIGHT1 && totalWeight < BOOK_WEIGHT2){ bookPP = BOOK_PP2;

}

if(totalWeight >= BOOK_WEIGHT2 && totalWeight< BOOK_WEIGHT2 + BOOK_WEIGHT_INCREASE){

bookPP = BOOK_PP2 + BOOK_PP_INCREASE;

Trang 4

}

if(totalWeight >= BOOK_WEIGHT2+BOOK_WEIGHT_INCREASE){

bookPP = BOOK_PP2+(totalWeight/BOOK_WEIGHT_INCREASE)*BOOK_PP_INCREASE; }

return bookPP;

}

//chi phi van chuyen dong goi cua Software

public double softwarePP(){

int totalCD = this.totalCD();

return (totalCD)<=3? SOFTWARE_PP*totalCD:SOFTWARE_PP*3+(totalCD-SOFTWARE_LEVEL)*SOFTWARE_PP_INCREASE;

}

public String toString(){

String basket ="";

for(int i = 0;i < this.cart.size();i++) basket += i+1 +" "+ this.cart.get(i).toString()+"\n";

return basket;

}

//in hoa don

public void printInvoice(){

System.out.println(" Total price of selection: $"+this.totalPrice());

System.out.println(" Book total weight: "+this.totalWeight()+"g Postage and packing: $"+this.bookPP()); System.out.println(" Number of Sofware Titles: "+this.totalCD()+" Postage and packing:

$"+this.softwarePP());

System.out.println(" Total basket cost <include postage and packing>: $"+(this.totalPrice()+this.bookPP() +this.softwarePP()));

}

}

//Tính chi phí

package virtualshopping;

interface Cost {

int SOFTWARE_LEVEL = 3; // mua 3 software

int SOFTWARE_INCREASE = 1; //moi software them vao gio hang

double SOFTWARE_PP = 3.25; // chi phi mua tu 1 den 3 software

double SOFTWARE_PP_INCREASE = 1.50; // chi phi moi software them vao gio hang

double BOOK_PP1 = 5.00; //chi phi cua book co khoi luong < 500g

double BOOK_PP2 = 9.50; // chi phi cua book co khoi luong 500g den 1000g

double BOOK_PP_INCREASE = 7.00; // chi phi cua moi book them vao gio hang

int BOOK_WEIGHT1 = 500; // khoi luong book < 500g

int BOOK_WEIGHT2 = 1000; // khoi luong book tu 500g den 1000g

int BOOK_WEIGHT_INCREASE = 1000; // khoi luong moi 1000g book them vao gio hang

}

Trang 5

// class doc mot ki tu nhap tu ban phim

package virtualshopping;

import java.io.*;

class Keyboard {

private BufferedReader br;

public Keyboard(){

br = new BufferedReader(new InputStreamReader(System.in));

}

public int readInt(String msg){

System.out.print(msg);

try{

return Integer.parseInt(br.readLine());

}catch(IOException e){

System.out.println("Error: IOException");

}catch(NumberFormatException nf){

System.out.println("Error: Invalid choice (NumberFormatException - Integer)"); }

return 1;

}

public char readChar(String msg){

System.out.print(msg);

try{

return br.readLine().charAt(0);

}catch(IOException e){

System.out.println("Error: IOException");

}

return '1';

}

}

//Lớp Shop chứa hàm main

package virtualshopping;

import java.util.Vector;

public class Shop {

// khai bao vecto

private Vector<ShopItem> listItem;

private Basket basket;

private Keyboard keyboard;

Trang 6

public Shop() {

listItem = new Vector<ShopItem>(10,5);

basket = new Basket();

keyboard = new Keyboard();

}

void addItem(ShopItem I){

this.listItem.add(I);

}

public String toString(){

String list ="";

for(int i = 0;i < this.listItem.size();i++) list += i+1 + " "+ this.listItem.get(i).toString()+"\n";

return list;

}

public void showCatalog(){

System.out.println(" -");

System.out.println("\t\t VIRTUAL SHOP CATALOGUE");

System.out.println("\t7 items in shop");

}

public char chooseAction(){

this.showCatalog();

System.out.println(this);

System.out.println(" THE VIRTUAL SHOP (Internet Shoping Centre)\n");

System.out.println(" Q -Quit");

System.out.println(" A -Add to shopping basket");

System.out.println(" R -Remove from basket");

System.out.println(" P -Print invoice");

char c = Character.toUpperCase(keyboard.readChar("Enter selection: ")); return c;

}

public void run(){

char c = this.chooseAction();

if(c=='A'){

addToBasket();

System.out.println("Adding item to basket successfull"); this.run();

}

if(c=='R'){

removeFromBasket();

System.out.println("Remove item from basket successfull"); this.run();

} if(c=='P'){

System.out.println(basket);

basket.printInvoice();

this.run();

Trang 7

} if(c=='Q'){

System.exit(0);

} }

public void addToBasket(){

int i = keyboard.readInt("Select item by number: ");

basket.add(listItem.get(i-1));

}

public void removeFromBasket(){

int i = keyboard.readInt("Select item to remove by number: "); basket.remove(i-1);

}

public static void main(String[] arg){

Shop shop = new Shop();

shop.addItem(new Book("C++ Primer",74.95, 600));

shop.addItem(new Book("C++ for Java Programmers",64.95, 200)); shop.addItem(new Book("Linux in a nutshell",85, 950));

shop.addItem(new Software("Borland C++",145, 1));

shop.addItem(new Software("Adobe photoshop",650, 2));

shop.addItem(new Software("Linux RedHat 7.2",34.5,2));

shop.addItem(new Software("QuickTax2000", 49.95, 1));

shop.run();

}

}

Ngày đăng: 23/12/2013, 05:15

TỪ KHÓA LIÊN QUAN

w