1. 程式人生 > 其它 >家庭收支記賬軟體

家庭收支記賬軟體

技術標籤:學習筆記java軟體開發

​ 昨天沒有更新,是因為做到晚上十點太困就睡覺去了,其實昨天收穫還挺多的,完成了學習程式設計以來的第一個例項,還是很有成就感的。
​ 該軟體可實現功能列表化顯示、以及收支記錄及顯示。
​ 只是只能在執行時輸入,程式結束資料丟失,後續可通過資料流將資料寫出到相應檔案中儲存,這個功能以我目前只是可以實現。等到下次執行軟體只需將資料匯入即可。

package com.IO;
import java.util.*;
public class FamilyEcomomySoftware {
    static Boolean flag=true;//dowhile大迴圈設為死迴圈
//static Boolean loopflag; List Income=new ArrayList();//收入容器 List Outcome=new ArrayList();//支出容器 public void DengJiShouRu() {//登記收入方法 System.out.println("登記收入"); Boolean loopflag;//方法內迴圈標誌,當輸入exit時停止迴圈 do{//內迴圈採用dowhile迴圈,保證可以迴圈一此 System.out.println
("登記收入"); Scanner inc = new Scanner(System.in);//鍵盤輸入收入 String income = inc.nextLine(); //List Income=new ArrayList(); Income.add(income);//加入容器 //Iterator intcome_iterator = Income.iterator();//List集合可使用get方法,若為其他集合則可使用迭代器。 if (
income.equals("exit")) {//判斷退出條件 loopflag=false; }else { loopflag=true; } }while(loopflag); } public void DengJiZhiChu(){ //登記支出 Boolean loopflag;//內迴圈標誌 do{//下述步驟與上個方法同理 System.out.println("登記支出"); Scanner ouc = new Scanner(System.in); String outcome = ouc.nextLine(); //List Outcome=new ArrayList(); Outcome.add(outcome); Iterator outcome_iterator = Outcome.iterator(); if (outcome.equals("exit")) { loopflag=false; }else { loopflag=true; } }while(loopflag); } public void ShouZhiMingXi(){ System.out.println("收支明細"); for(int i=0;i<Outcome.size();i++){//利用for迴圈,迴圈輸出收支,可詳細加入中文提示 System.out.println(Outcome.get(i)); } for(int j=0;j<Income.size();j++){ System.out.println(Income.get(j)); } if(Outcome.isEmpty() && Income.isEmpty()){ System.out.println("還未登記收支"); } } public void JieMian(){//軟體主介面,四個選項列表顯示,輸入對應數字可進入對應功能 System.out.println("1.收支明細"); System.out.println("2.登記支出"); System.out.println("3.登記收入"); System.out.println("4.退出"); } public static void main(String[] args) {//主方法 FamilyEcomomySoftware fes = new FamilyEcomomySoftware();//例項化收支記賬軟體物件 label:do {//軟體一直執行,設為死迴圈,加入label標籤,可實現退出功能 fes.JieMian();//呼叫介面函式 Scanner swi = new Scanner(System.in); String choice = swi.nextLine(); switch (choice) { case "1": fes.ShouZhiMingXi();//呼叫收支明細方法 break; case "2": fes.DengJiZhiChu();//呼叫登記支出方法 break; case "3": fes.DengJiShouRu();//呼叫登記收入方法 break; case "4"://退出軟體 break label; } } while (true) ; } } //下述是對方法的初步實現構思 //該軟體方法很簡單,只是迴圈需要考慮 /*//登記收入 //System.out.println("登記收入"); Scanner inc=new Scanner(System.in); String income=inc.nextLine(); List Income=new ArrayList(); Income.add(income); Iterator intcome_iterator=Income.iterator(); //登記支出 System.out.println("登記收入"); Scanner ouc=new Scanner(System.in); String outcome=ouc.nextLine(); List Outcome=new ArrayList(); Outcome.add(outcome); Iterator outcome_iterator=Outcome.iterator(); //顯示收支明細 for(int i=0;i<Outcome.size();i++){ System.out.println(Outcome.get(i)); } for(int j=0;j<Income.size();j++){ System.out.println(Income.get(j)); }*/