java自定义动态数组-控制台购书系统-购物车实现

来源:互联网 发布:2012年梅西进球数据 编辑:程序博客网 时间:2024/05/21 22:45
package com.hui.购书系统;import java.util.Arrays;import java.util.Scanner;public class 购书系统 {    public static void main(String[] args){        Scanner input = new Scanner(System.in);        book custom = new book();        System.out.println("\t欢迎来到1703图书市场!");        custom.printBooks();        while(true){            System.out.print("[0 退出] [1 获取图书列表] [2 查找图书] [3 购书]\n请选择:");             int index = input.nextInt();             if(index == 0)                 break;             else if(index == 1)                 custom.printBooks();             else if(index == 2){                 System.out.print("请输入查找编号:  ");                 int n = input.nextInt();                 custom.searchBook(n);             }             else if(index == 3){                 System.out.print("请输入要购书的编号:  ");                 int n = input.nextInt();                 custom.buyBooks(n);             }        }        System.out.println("感谢使用!");        input.close();    }} class book{    private String[][] table = {             { "编号", "书名", "价格¥", "作者", "  出版社","\t库存" },            { "01", "西游记", "34.8", "吴承恩", "商务印书馆","31" },             { "02", "三国演义", "33.5", "罗贯中", "浙江出版社","22" },            { "03", "水浒传", "38.5", "施耐庵", "中国出版社","12" },            { "04", "红楼梦", "29.5", "曹雪芹", "长江出版社","12" }    };    private int countarr[] = new int[0];  //购物车//  查找    public void searchBook(int n){        for(int i=0;i<table[0].length;i++){            System.out.print(table[0][i]+"\t");        }        System.out.println();        for(int i=0;i<table[n].length;i++){            System.out.print(table[n][i]+"\t");        }        System.out.println();        System.out.println();    }// 打印    public void printBooks() {        for(int i=0;i<table[0].length;i++)            System.out.print(table[0][i]+"\t");        System.out.println();        System.out.println("---------------------------------------------------");        for(int i=1;i<table.length;i++){            for(int j=0; j<table[i].length;j++){                System.out.print(table[i][j]+"\t");            }            System.out.println();        }        System.out.println();    }//  购书
        public void buyBooks(int n){    //  添加购物车(动态增长数组  count 为初始数组)            int  countTemp[] = new int[countarr.length+1];   //生成一个大1的临时数组            for(int i=0;i<countarr.length;i++)     //将旧值赋给临时数组                countTemp[i] = countarr[i];            countTemp[countTemp.length-1] = n;    //将当前n 追加给临时数组            countarr = countTemp;        //把临时数组地址赋给旧数组
//      输出购物车        System.out.println("购物车:");        for(int i=0;i<table[0].length-1;i++)            System.out.print(table[0][i]+"\t");        System.out.println();        for(int j=0;j<countarr.length;j++){            for(int i=0;i<table[countarr[j]].length-1;i++){                System.out.print(table[countarr[j]][i]+"\t");            }            System.out.println();        }        System.out.println();//      减库存        int number[]  = {Integer.parseInt(table[n][table[n].length-1]) };        number[0]--;        String numberString = Arrays.toString(number);        String resultNumber = numberString.substring(1,numberString.length()-1);        table[n][table[n].length-1] = resultNumber;    }}
原创粉丝点击