1. 程式人生 > 其它 >使用JAVA基礎語法做一個簡易的發票管理系統

使用JAVA基礎語法做一個簡易的發票管理系統

技術標籤:java

發票管理系統

分為查詢發票、開具發票、刪除發票、待稽核發票、稽核發票五大模組

Scanner scanner = new Scanner(System.in);
        String[] BuyerNameArray = {"胡一","胡二","胡三","胡四"};
        int[] BuyerPhoneArray = {110,120,119,991};
        String[] BuyerAddressArray = {"北京","上海"
,"杭州","鄭州"}; String[] InvoiceStateArray = {"已開票","已開票","已開票","已開票"}; int num ; do { System.out.println("********************************"); System.out.println("-->歡迎進入HPU發票管理系統<--"
); System.out.println("1.查詢發票"); System.out.println("2.開具發票"); System.out.println("3.刪除發票"); System.out.println("4.發票進入異常狀態"); System.out.println("5.稽核發票狀態"); System.out.println(
"6.退出系統"); System.out.println("請按照1-6選擇輸入:"); num = scanner.nextInt(); switch (num){ case 1: System.out.println("-->開始查詢發票"); System.out.println("編號\t\t購方名\t購方電話\t購方地址\t發票狀態"); for (int i = 0; i < BuyerNameArray.length; i++) { //判斷為空則不輸出 if (BuyerNameArray[i]!=null){ System.out.println((i+1)+"\t\t"+BuyerNameArray[i]+"\t\t"+BuyerPhoneArray[i]+"\t\t"+BuyerAddressArray[i]+"\t\t"+InvoiceStateArray[i]); } } System.out.println("-->輸入0返回上一級:"); num = scanner.nextInt(); break; case 2: System.out.println("-->提交開具發票"); String[] newBuyerNameArray = null; int[] newBuyerPhoneArray = null; String[] newBuyerAddressArray = null; String[] newInvoiceStateArray = null; if (BuyerNameArray[BuyerNameArray.length-1]!=null){ //複製老陣列中的資料,並且新陣列長度加1 newBuyerNameArray = Arrays.copyOf(BuyerNameArray,BuyerNameArray.length+1); newBuyerPhoneArray =Arrays.copyOf(BuyerPhoneArray,BuyerPhoneArray.length+1); newBuyerAddressArray = Arrays.copyOf(BuyerAddressArray,BuyerAddressArray.length+1); newInvoiceStateArray = Arrays.copyOf(InvoiceStateArray,InvoiceStateArray.length+1); newInvoiceStateArray[newInvoiceStateArray.length-1] = "已開具"; int Phone; String Address; //寫入購方姓名 System.out.println("請輸入購方姓名:"); String Name = scanner.next(); newBuyerNameArray[newBuyerNameArray.length-1] = Name; //寫入購方手機號 System.out.println("請輸入購方手機號:"); Phone = scanner.nextInt(); newBuyerPhoneArray[newBuyerPhoneArray.length-1] = Phone; //寫入購方地址 System.out.println("請輸入購方地址:"); Address = scanner.next(); newBuyerAddressArray[newBuyerAddressArray.length-1] = Address; //將新生成的資料地址給初始化的陣列 BuyerNameArray = newBuyerNameArray; BuyerPhoneArray = newBuyerPhoneArray; BuyerAddressArray = newBuyerAddressArray; InvoiceStateArray = newInvoiceStateArray; System.out.println(Name+"已經提交成功"); }else { //尋找資料中第一個為null的下標 int index = 0; for (int i = 0; i < BuyerNameArray.length; i++) { if (BuyerNameArray[i]==null){ index = i; break; } } //寫入購方姓名 System.out.println("請輸入購方姓名:"); String Name = scanner.next(); //寫入購方手機號 System.out.println("請輸入購方手機號:"); int Phone = scanner.nextInt(); //寫入購方地址 System.out.println("請輸入購方地址:"); String Address = scanner.next(); BuyerNameArray[index] = Name; BuyerPhoneArray[index] = Phone; BuyerAddressArray[index] = Address; InvoiceStateArray[index] = "已開具"; System.out.println(Name+"已經提交成功"); } System.out.println("-->輸入0返回上一級:"); num = scanner.nextInt(); break; case 3: System.out.println("-->刪除發票"); System.out.println("請輸入要刪除訂單的購方名:"); String Name = scanner.next(); boolean flag = false; int index = 0; //判斷購方名是否存在 for (int i = 0; i < BuyerNameArray.length; i++) { if (Name.equals(BuyerNameArray[i])){ flag = true; index = i; break; } } if (flag){ //將陣列元素向前移動一位 for (int i = index ; i <BuyerNameArray.length-1 ; i++) { BuyerNameArray[i] = BuyerNameArray[i+1]; BuyerPhoneArray[i] = BuyerPhoneArray[i+1]; BuyerAddressArray[i] = BuyerAddressArray[i+1]; InvoiceStateArray[i] = InvoiceStateArray[i+1]; } //若不將陣列中最後一位置空,會導致最後一位還是原來的值 BuyerNameArray[BuyerNameArray.length-1] = null; BuyerPhoneArray[BuyerPhoneArray.length-1] = 0; BuyerAddressArray[BuyerAddressArray.length-1] = null; InvoiceStateArray[InvoiceStateArray.length-1] = null; System.out.println("刪除資料成功"); }else { System.out.println("此購方名不存在,請輸入0"); } System.out.println("-->輸入0返回上一級:"); num = scanner.nextInt(); break; case 4: System.out.println("-->發票進入異常狀態"); System.out.println("請輸入要異常訂單的購方名:"); Name = scanner.next(); flag = false; index = 0; //判斷購方名是否存在 for (int i = 0; i < BuyerNameArray.length; i++) { if (Name.equals(BuyerNameArray[i])){ flag = true; index = i; break; } } if (flag){ // if ("異常".equals(InvoiceStateArray[index])){ System.out.println("發票本身就為異常狀態!"); }else { InvoiceStateArray[index] = "異常"; System.out.println("發票進入異常狀態!"); } }else { System.out.println("該訂單不存在!"); } System.out.println("-->輸入0返回上一級:"); num = scanner.nextInt(); break; case 5: System.out.println("-->稽核發票"); System.out.println("請輸入要稽核異常訂單的購方名:"); Name = scanner.next(); flag = false; index = 0; //判斷購方名是否存在 for (int i = 0; i < BuyerNameArray.length; i++) { if (Name.equals(BuyerNameArray[i])){ flag = true; index = i; break; } } if (flag){ // if ("已開具".equals(InvoiceStateArray[index])){ System.out.println("發票處於已開具狀態!"); }else { InvoiceStateArray[index] = "已開具"; System.out.println("發票稽核成功,已開具狀態!"); } }else { System.out.println("該訂單不存在!"); } System.out.println("-->輸入0返回上一級:"); num = scanner.nextInt(); break; case 6: System.out.println("-->推出系統"); break; } }while (num==0);

查詢發票:
在這裡插入圖片描述

開具發票:
在這裡插入圖片描述
在這裡插入圖片描述
刪除發票:
在這裡插入圖片描述
在這裡插入圖片描述

進入異常狀態:
在這裡插入圖片描述
在這裡插入圖片描述
稽核異常狀態:
在這裡插入圖片描述
在這裡插入圖片描述

注:此為雛形,後期隨緣改動!