<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

java項目物業管理系統

2023-06-30

第一篇:java項目物業管理系統

java管理系統項目總結

篇一:java管理系統項目總結

期末將至,怕沒有時間再去寫這篇不成器的文章,所以早早寫完,早早留給時間去復習。隨著期末的臨近,java課程也結束了,距離之前寫過的“java-象棋設計心得”有差不多過了2個月了。我們的java課程主要做全班選出來的兩個項目,一個是象棋,一個就是人事管理系統。做完都要通過答辯才能評分,以此兩次來作為整個java學期的成績??熳哳}了,就在這里止步回頭!

這一次的主要通過 問題->理解->修改->添加 的步驟講解,跟java-象棋設計心得的講解思路基本上差不多。

----問題篇

一開始著手這個java-人事管理系統項目的時候就感覺到這比之前的java-象棋項目難了,知識明顯不夠,需要邊看書本源代碼邊查看API文檔和通過網上來解惑。就這樣,一周的時間就過去了,當然一周里還有很多課程需要跟上,所以并不是把一周的所有時間都花在項目設計上。

這里介紹一下我項目中遇到的一些“坎”: 1.布局管理器

GridBagLayout

的使用和GridBagConstraints類的使用

類和DefaultMutableTreeNode類和其他類的使用

面板和JSplitePane面板和其他面板

4.設計的界面的還原

5.數據庫如何實現數據的保存

可見,問題多多,解決起來又會出現其它的問題,但我知道每一個項目必定存在多個類和面板的設計,設計的過程也是一個不斷自我矛盾和自我更正的過程,只有這樣設計出來的產品才符合我們的要求。其中首先要說問題的是界面的還原是比較耗費時間的,但這也是任何軟件設計的第一步,所以必須理解透!其次就是數據庫和SQL語言的學習,因為數據庫是新知識,還沒有可以通過課程來學習的,這就意味著只能通過自己學習新知識,這又是一個新問題的開始,但我知道必須要克服。最后就是動作的實現問題,例如:點擊了這個節點,相應的功能是如何實現,是通過什么來實現的,這些問題也必須理解,因為是答辯問的最多問題。好了,問題篇就到這里了。

----理解篇

理解的基本條件就是問題的產生,上篇說的就是問題篇,那么這里說的就是理解?;蛟S這里有一些東西會跟java-象棋設計心得有些相同,所以會提醒一下就過了,理解是理解軟件制作的必要過程,重要性可想而知了,在java-象棋設計心得里,有些理解的方法這里就不在重復了。那么這里要講的東西不多,主要講的是功能的實現過程,書本中人事管理系統的功能有,如下:

1.基本信息管理--添加人員信息、修改人員信息、刪除人員信息、查詢人員信息、部門管理;

2.人員調動管理--人員調動、調動歷史查詢;

3.人員考核管理--人員考核、考核歷史查詢;

4.勞資管理--勞資分配管理、勞資歷史查詢

因為基本上以上的所有功能的實現基本相同,所以這里通過其中一個功能的實現來粗略理解其它功能的實現吧,說的不好請諒解!

那么就說“人員調動管理--人員調動”這個功能的實現,從點擊葉子節點人員調用后,調用了人員調用的實現類,在右面板顯示相應的人員調用面板,由圖可知面板里的放了“人員調動”的JLabel、數據顯示的表單Jtable、一些文本框TextField和Jabel,還有下拉菜單JComboBox,以及三個按鈕。主面板里使用默認的BorderLayout布局,可以看下圖來知道該功能布局的實現:圖片的大小和真實的有差別,只作為理解而用。

接下來說如何通過點擊面板上的調入新部門的按鈕來實現與數據庫的連接,當正確操作后,按調入新部門按鈕后,調用與數據庫連接的實現類的相應方法,來對數據庫存放數據的相應表進行修改和給存放歷史數據的表進行調動歷史添加。這樣就完成以一個調用人員功能的實現了,類似的功能也可以參照次步驟來理解。

除了理解好這些功能的實現外,我還應該要是自己來實現一個功能,作為真正理解好一個功能實現的動手機會,這個會在添加功能里詳解。好了,理解篇就到這里了!

----修改篇

修改、添加也是在理解的基礎上才能對代碼進行改進和添加,這里是修改篇,下一篇就是理解篇??梢哉f書本上的每一項目的代碼都存在不足和缺陷,可以運行但運行起來其中總是存在不少的缺陷和矛盾,所以就需要修改,那么在實際開發過程中,修改和添加就相當于軟件的后期維護了,這是一個永遠也完成不了的功能,要做到軟件的完美,是不可能的!只能不斷的修改,添加,再修改,再添加。。。

在書本的人事管理系統代碼,只代表本人的觀點下,進行了一些修改,這里就不一一說明了。

----添加篇

因為人事管理系統的龐大,其功能也可以有相當多,之前就說過,功能的實現都是差不多的,而且考慮到作業提交和答辯的時間,所以只添加了一個功能 “加班信息管理--添加人員加班信息、人員加班信息查詢”,請看下圖:

總結:雖然java課程隨著人員管理系統的完成而結束了,但java的學習還會繼續,這是一個厲害的技能,不是說課程教完就結束了,老師只能帶領我們進門,但java提升是靠自己的努力的,有不少人說java作為一個謀生的技能很不錯,我想我會在邊學習java之余邊體會java的魅力。

篇二:java管理系統項目總結

這個學生管理系統相對來說比較簡單,主要就是復習下java怎么連接數據庫,然后你怎么來實現這個功能,我簡單的說下思路吧。

首先你要構思好這個界面,他包括增刪查改這些基本功能,然后你去分析這些功能都能怎么實現,對于查找,應該是比較簡單的,這里連接數據庫就不詳述了,導jar包,設置三個變量,然后傳固定的參數進去,查詢你應該單獨寫一個類,在這個類里面你要做的就是傳入sql語句,利用executeQuery返回的結果集存放在一個向量里面,然后返回給java界面里面JTabel的參數,同樣增加一條記錄,你可以自定義java界面,從鍵盤讀入數據,然后將數據返回給你自定義的add類里面,在這個類里,主要處理sql增加語句,所以語句將被使用,這里還是要注意下防止sql注入。修改操作和增加操作類似,這里因為主鍵的特殊性,所以你需要把他設為不可修改,當然你也可以選擇不。對于刪除操作,因為不需要特別的界面為他服務,所以你大可以在Main函數里面進行操作,除非你覺得有必要整理下長的嚇人的代碼,其實刪除操作也就是獲取你指定的主鍵,然后在sql里面執行操作。大概也就是這些了,有些細節地方要注意下,很多參數里面的下標要千萬小心,不然很痛苦的,連接sql文件后記得關閉,彈出界面自己要加些異常處理,每次操作完后,要記得及時更新界面。另外對于MVC模式,你可以在寫完后,想想,其實很多代碼都有其復用性,你可以分幾層來操作啊,業務層就專門提交具體操作,也就是contral啊,然后增刪查改界面可以全放在view里面,model就專門處理和數據庫的銜接,反正mvc模式你會覺得代碼非常清晰,后續你還可以增加分頁操作啊,分頁操作其實很簡單,上一次sql里面測試了下,對于百萬級的數據,分頁操作跑了三到五秒,或許我的本本真該換了。想說的也就是這么多了,另外鑒于昨天晚上發生的一些事情,后續不打算再更新任何東西了,也許這兩者沒任何關聯,于我而言,結局早已注定。

第二篇:JAVA物業管理系統

本系統的意義

新的世界已經到來,在電子計算機技術發展日新月異的今天,計算機軟件的應用早已深入到了各行各業,并發揮著它們巨大的潛力。隨著企業,房戶等一系列的改革,一切都在潮向社會化發展,管理體制也由過去的全承包向現在的一體化,專門化發展。為了人員的安全,社會的穩定,國家的持續發展,物業管理在起著舉足輕重的作用。本物業管理系統提供對人員,住房,房產和收費信息的管理。為了有效管理和社會人員的方便,系統為管理員用戶和普通用戶提供了不同的功能。本系統具有一定的實用性。

本物業管理系統是在服務器上先安裝Windows NT操作系統,并在NT系統下安裝數據庫系統SQL Server 7.0和建立人員、住房、房產、收費四個數據庫。然后在NT操作系統下用Java編寫不同的系統用戶界面,后用JDBC/ODBC橋實現服務器上數據庫和前端界面的連[文章來源: 計算機畢業論文網]接。連接成功后,將Java編寫的用戶界面移植到客戶端的Linux操作系統下,并用這個界面試圖實現與服務器上NT系統下的數據庫SQL連接。以達到在不同的操作系統下可以互相調用的目的,實現Java的重要特性:可移植性。

二.設計思想

2.1 當前數據庫實現中存在的問題:

2.1.1 目前存在的問題----數據庫的實現面向單一應用

在目前開發的一部分數據庫應用軟件中,程序員的主要任務是編寫高質量的程序,對所使用的軟件及數據庫很少關注,這就面臨數據庫單一應用的問題。

2.1.2 數據庫設計中存在數據完整性問題

數據庫應用所提供的功能一般都比較安全,往往自成一個系統。但是當數據庫不同后系統數據就會產生問題。

2.2 工具軟件的介紹

2.2.1 Java語言的介紹

Java是一個由SUN公司開發成功的新一代編程語言,它的最大特點就是:使用它可在各式各樣不同種機器,不同種操作平臺的網絡環境中開發軟件,即SUN公司所宣揚的一次編寫,到處運行 。

在SUN公司的Java白皮書中對Java有如下的定義:

Java: A simple, Object-oriented, distributed, robust, secure, architecture-neutral, portable, High-performance, multi-threaded, and dynamic language.(Java: 一種簡單的,面向對象的,分布式的,健壯的,安全的,結構中立的,可移植的,高效性的,多線程和動態的語言)。

這個定義充分地表現了Java語言的特點。

1. 簡單性

Java是一種簡單的語言。Java取消了其它的許多編程語言中十分繁瑣的和難以理解的內容,例如C/C++中的指針,C++中類的多重繼承等。Java語言在外觀上讓大多數程序員都感到很熟悉,這樣程序員不需要經過長時間訓練就能夠學會使用這種新型的程序開發工具。Java要求的基本解釋器約為40KB ,若加上基本的程序庫,約為215KB。由于Java程序很小,因此在小型機上Java程序也能夠很好地執行。

2. 面向對象

Java是一種面向對象的語言。這里的對象是指應用程序的數據及其操作方法。Java程序的設計思想不同于C語言基于過程的程序設計思想。設計面向對象的程序需要將編程重點放在資料和接口上。

3. 分布式特性

Java是一種分布式的語言。Java有一個很周全的程序庫,且很容易與HTTP和TCP/IP通信協議相配合。Java應用程序能在網絡上開啟并連結使用對象,就如同透過URL鏈接使用一個本地文件系統。利用Java來開發分布式的網絡程序是Java的一個重要應用。

4. 健壯性

用Java編寫的程序在多種情況下都能穩定地執行。Java與C/C++最大的不同點是在于Java有一個專門的指針模型,它的作用是排除內存中的數據被覆蓋和毀損的可能性。

5. 安全性

Java是一種安全的網絡編程語言。Java是被設計用于網絡及分布的環境中的,所以Java程序的安全性自然是非常重要的。Java擁有數個階層的互鎖保護措施,能有效地防止病毒的侵入和破壞行為的發生。

6. 結構中立性

眾所周知,網絡是由很多不同機型的計算機組合而成的。這些計算機的CPU和操作系統體系結構均有所不同。因此,要使一個應用程序可以在每一種計算機上都能夠執行是很難的。

所幸的是,Java的編譯器能夠產生一種結構中立的目標文件格式,這使得編譯碼能夠在多數的處理器中執行。

7. 可移植性

Java的源代碼和C/C++的源代碼一樣具有可移植性,而且Java的可移植性在相比之下還要更強一些。只要有對應系統的解釋器,Java程序就可以在所有的系統上執行。Java的原始資料形式的大小是被指定的,例如Java之所以一直用float來表示一個32位字節的IEEE754的浮點運算數字,正是因為絕大多數的CPU都有此共同特征。Java自帶的程序庫定義了一些可移植的程序接口,這使Java語言具備了很好的可移植性。

8. 解釋型語言

Java的源程序首先由編譯器編譯成字節碼,之后再由解釋器解釋執行。Java解釋器能直接在任何機器上執行Java字節碼(Byte Codes),因此在進行程序鏈接時節省了時間,這對于縮短程[文章來源: 計算機畢業論文網]序的開發過程有極大的幫助。

9. 高效性

Java字節碼能迅速地轉換成機器碼(Machine Code)。Java的這種效能幾乎與C/C++沒有分別。用Java編制的Java小應用程序可以取代部分CGI腳本(CGI Scripts)的功能,但是考到效率方面的問題,在大多數的情況下很多客戶端的基本操作還是由腳本語言來完成的。涉及到復雜算法的計算以及一些特別的效果,就可以由Applet或者ActiveX來完成。

10. 多線程性

Java語言具有多個線程,這對于交互回應能力和即時行為是有幫助的。

11. 動態性

聯系購買

(0)1594335582

5528311109 345608595

345608595@qq.com

幫助中心

付款方式 購買流程 常見問題

定做論文 常見問題 友情提醒

我們的優勢

權威機構 我們具備深厚行業背景。

技術領先 最新軟件編程技術和權威合作伙伴。

良好聲譽 廣泛知名度、滿意度,眾多新老客戶。

隨機推薦

121J2ME手機射擊游戲_JAVA()

原文出處:

第三篇:java圖書管理系統心得

經過這周的學習我們終于把java圖書管理系統做出了了,雖然不是很好但是能把它做出來我們為此感到高興。在此次小學期的學習過程中,我體會到看學習是一個很反復的過程,不斷的出現錯誤,不斷的調試,不斷的迷茫,不斷的清晰,呵呵,這些都是必須要要經歷的,所以不要害怕了。學做java圖書管理系統,所以現在所遇到的一切,我都挺坦然的面對。突然覺得這個學習的過程很美好,是一種享受,雖然真的是很辛苦吧,但是很快樂,當自己能敲出的代碼,即使做出的是做簡單的東西,都會讓我很開心,很有成就感,對待學習的態度跟以前不一樣了,還是那個很簡單的想法,就是想把java學好

學習java就是件耗時間的事兒,如果你不肯投入自己的時間,根本不可能在短時間就把java給學好了,原本我對java接觸了時間就比較短,如果我還不努力的話,我根本就不能在4周的時間內把java圖書管理系統的項目做完,所以我就不能去做娛樂,休閑的事情,而是坐在電腦前,敲著那些代碼,不斷的出錯,不斷的去調試,這就是我現在的生活,完全的浸泡在java中了,跟同學們一起去吃飯的時候,也在不斷的探討著學習中出現的問題。

在學習Java期間我們做了一些程序,我們班的同學也都積極準備,完成的還不錯!在做程序時,我遇到了一些難題,有時也會出現錯誤,時間長了弄得我心煩意亂,但是我知道只有堅持下去才會成功。

因為Java是一種面向對象的編程語言,剛接觸Java的人可能會感覺比較抽象,不過沒關系不用著急,上課的時候認真聽老師講解,一些概念知識慢慢去理解,課后多做練習,熟能生巧,哪怕是你的記性再好,課后不去強化練習也沒用,只有多練了,當你在做項目時你才能很熟練的寫出你想要代碼。平日在練習時若遇到不會的題目或是在項目中遇到解決不了的問題,首先不要急著去問老師,或是急著上百度搜答案,那樣即使你得到了正確答案,以后在其它地方遇到同樣的問題,你還是不知道怎么解決!所以說,在遇到問題時,自己先想想要怎么解決,回顧一下老師上課的內容,如果自己還是想不出什么好方法的話,也可以向同學請教請教,三人行必有我師,你不懂的地方其他同學可能知道。如果還是沒能解決,那只有問老師或是上網搜索查找相應的解決方法了。好好理解其解決思路。真的弄不懂時我就問同學一起解決。通過幾個階段的練習,我覺得又把學過的知識復習了一遍,通過同學之間的交流溝通,我覺得我們班的學習氛圍更加濃厚了。

我覺得把Java學會的關鍵一點就是堅持練習。學習Java時每天必須保證一定量的練習,我們老師也說學習編程語言沒有捷徑可走。真的,只有每天反復操作了,經常寫代碼了,我們在遇到問題時才有一定的思路。欲速則不達,學習編程語言需要一個比較漫長的階段,不能一步登天,這需要一個過程,在這個過程中慢慢積累經驗,扎實基礎。不要以為寫出了一個簡單的小程序,就認為自己已經學的很好了,這只不過是在你學習編程過程中一個小小的實踐。不要滿足于現狀,要不斷完善自己的知識體系,善于總結實踐經驗。要端正自己的學習態度,是主動去學,而不是被動!提高自學能力。學習編程的秘訣是:編程、編程、再編程。不僅要多實踐,而且要快實踐,、嗎。

在我學習的期間,很多人對我的學習都有很大的幫助啊,班里的同學們,老師們,我覺得我是一個幸運兒,每次我都能在遇到問題的時候,都能找到能幫助我的人,呵呵,很開心哦~但是,我認為有些東西還是要自己去琢磨,去思考,去想。這樣才能不斷的進步。

第四篇:基于java小型超市管理系統

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; import java.util.Scanner;

public class Mytest { static int sign=0;//goodname數組第一個空下標號

static int sign1=0;//cname數組第一個空下標號

static String[] cpass=new String[20];//存放售貨員名稱

static String[] cname=new String[20];//存放售貨員登入密碼

static String[] goodname=new String[20];//存放商品名稱

static double[] goodprice=new double[20];//存放商品價格

static int[] goodout=new int[20];//存放商品銷售量

static int[] goodnum=new int[20];//存放商品數量

public static void main(String[] args)throws Exception { cname[0]="ZhouTian";//初始的售貨員名稱

cpass[0]="723"; //初始的售貨員密碼 createArrays(); readArrays("goodname");//將文件中的內容讀入到相應的數組里

readArrays("goodprice"); readArrays("goodnum"); readArrays("cname"); readArrays("cpass"); readArrays("goodout"); menu();//登入之后加載的主菜單

} /** * 加載登入菜單

*/ private static void menu() {

Scanner scan = new Scanner(System.in);

System.out.println(" 歡迎使用商超購物管理系統 ");

System.out.println(" 1.登錄系統 ");

System.out.println(" 2.退出 ");

System.out.println("*************************************************");

System.out.println("請選擇,輸入數字: ");

int a = scan.nextInt();

switch (a) {

case 0:

System.out.println("退出!");//按0不登入

case 1:

System.out.println("請輸入用戶名:");// 查找售貨員姓名是否存在,與所對應的密碼是否匹配

String name = scan.next();

System.out.println("請輸入密碼:");

String pass = scan.next();

int flage = 0;

int ff = 0;

for (int i = 0; i < cname.length; i++) {

if (name.equals(cname[i])) {

flage = 1;//售貨員的名稱匹配flage=1;

ff = i;

break;

}

}

if (flage == 1) {//名稱匹配之后再匹配密碼

if (pass.equals(cpass[ff])) {

loadmenu1();//密碼也匹配之后再允許登入

} else {

System.out.println("密碼錯誤!");

}

} else {

System.out.println("該用戶名不具有權限");

}

break;

case 2:

System.out.println("謝謝您的使用!");

break;

default:

break;

} }

/** * ,創建文件,將數組信息存入到各文件中, */ static void createArrays() {

BufferedWriter bw = null;

try {

File file1 = new File("d:gname.txt");

if (!file1.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gname.txt"));

String content1 = strToString(goodname);//數組內容轉換成字符串

bw.write(content1);//寫入

bw.close();

}

File file2 = new File("d:gprice.txt");

if (!file2.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gprice.txt"));

String content2 = doubleToString(goodprice);//數組內容轉換成字符串

bw.write(content2);//寫入

bw.close();

}

File file3 = new File("d:gnum.txt");

if (!file3.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gnum.txt"));

String content3 = intToString(goodnum);//數組內容轉換成字符串

bw.write(content3);//寫入

bw.close();

}

File file4 = new File("d:cname.txt");

if (!file4.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:cname.txt"));

String content4 = strToString(cname);//數組內容轉換成字符串

bw.write(content4);//寫入

bw.close();

}

File file5 = new File("d:cpass.txt");

if (!file5.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:cpass.txt"));

String content5 = strToString(cpass);//數組內容轉換成字符串

bw.write(content5);//寫入

bw.close();

}

File file6 = new File("d:gout.txt");

if (!file6.exists()) {

bw

=

new

BufferedWriter(new FileWriter("d:gout.txt"));

String content5 = intToString(goodout);//數組內容轉換成字符串

bw.write(content5);//寫入

bw.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

/** * 登入之后加載商超購物管理系統

*/ static void loadmenu1() {

System.out.println("歡迎進入商超購物管理系統!");

System.out.println(" 商超購物管理系統");

System.out

.println("********************************************************************************");

System.out.println(" 1.商品維護");

System.out.println(" 2.前臺收銀");

System.out.println(" 3.商品管理");

System.out.println(" 4.退出");

System.out.println("********************************************************************************");

System.out.println("請選擇,輸入數字或按0退出:");

Scanner scan = new Scanner(System.in);

int a = scan.nextInt();

switch (a) {

case 0:

System.out.println("謝謝您的使用!");

break;

case 1:

System.out.println("執行顯示商品維護菜單");

loadmenu2();

break;

case 2:

System.out.println("執行前臺收銀");

loadmenu6();

break;

case 3:

System.out.println("執行商品管理");

loadmenu7();

break;

default:

break;

} } /* * 在商超購物管理系統中按1鍵時 */ static void loadmenu2() {

System.out.println(" 商超購物管理系統 商品維護");

System.out

.println("********************************************************************************");

System.out.println(" 1.添加商品 ");

System.out.println(" 2.更改商品 ");

System.out.println(" 3.刪除商品 ");

System.out.println(" 4.顯示所有商品 ");

System.out.println(" 5.查詢商品 ");

System.out

.println("********************************************************************************");

System.out.println("請選擇,輸入數字或按0返回上一級菜單:");

Scanner scan = new Scanner(System.in);

int b = scan.nextInt();

switch (b) {

case 0:

loadmenu1();

break;

case 1:

addgoods();

break;

case 2:

System.out.println("執行更改商品操作");

loadmenu3();// 修改商品

break;

case 3:

System.out.println("執行商品刪除操作");

loadmenu4();// 商品刪除

break;

case 4:

System.out.println("顯示所有商品");

System.out.println("商品名稱 " + "商品價格 " + "商品數量 "

+ "備注");

showgoods();

break;

case 5:

System.out.println("執行查詢商品操作");

loadmenu5();

break;

default:

break;

} } /* * 在商超購物管理系統中按2鍵時

*/ static void loadmenu6() {

System.out.println(" 商超購物管理系統 前臺收銀");

System.out

.println("********************************************************************************");

System.out.println(" 1.購物結算");

Scanner scan = new Scanner(System.in);

int ch = scan.nextInt();

switch (ch) {

case 0:

loadmenu1();

break;

case 1:

pay();

break;

default:

break;

}

} /* * 在商超購物管理系統中按3鍵時

*/ static void loadmenu7() {

Scanner scan = new Scanner(System.in);

System.out.println(" 商超購物管理系統 商品管理");

System.out

.println("********************************************************************************");

System.out.println(" 1.庫存查詢");

System.out.println(" 2.已出售商品");

System.out.println(" 3.售貨員管理");

System.out.println("請選擇,輸入數字或按0返回上一級菜單:");

int ch = scan.nextInt();

switch (ch) {

case 0: loadmenu1();

break;

case 1:

System.out.println("執行庫存查詢操作:");

kusear();

break;

case 2:

System.out.println("執行已出售商品查詢操作");

besold();

break;

case 3:

System.out.println("執行售貨員管理操作");

salesman();

break;

default:

break;

}

} /* * 對售貨員信息的增添,修改 */ static void salesman()

{

Scanner scan = new Scanner(System.in);

System.out.println("

1、添加售貨員");

System.out.println("

2、修改售貨員信息");

System.out.println("請選擇,輸入數字或按0返回上一級菜單:");

int b = scan.nextInt();

switch (b) {

case 0:

loadmenu7();//返回上一級

break;

case 1:

addsale();//選擇1鍵,添加售貨員

break;

case 2:

modifysale();//更改售貨員的信息

break;

default:

break;

} } /* 添加售貨員 * */ static void addsale() {

Scanner scan = new Scanner(System.in);

String f;

// sign1 = sign1 + 1;

do {

System.out.println("添加售貨員姓名:");

String addname = scan.next();

add(cname, addname, sign1);//將新信息添加到相應數組中

System.out.println("添加售貨員登陸密碼:");

String addpass = scan.next();

add(cpass, addpass, sign1);//將新信息添加到相應數組中

// writeArray();

sign1++;//新信息添加后數組下標加1

writeArray();

System.out.println("是否繼續(y/n)");

f = scan.next();

// writeArray();

} while (f.equals("y"));

salesman(); } /* * 更改售貨員的信息 */ static void modifysale() {

String f;

Scanner scan = new Scanner(System.in);

System.out.println("輸入更改員工名稱:");

String newname = scan.next();

int k = searmember(newname);//查詢需要改的售貨員的信息,并返回其在數組中的下標

if (k >= 0) {//判斷售貨員是否存在

System.out.println("員工姓名" + " 密碼");

System.out.println(cname[k] + " " + cpass[k]);

System.out.println("選擇您要更改的內容:");

System.out.println("

1、更改員工姓名:");

System.out.println("

2、更改登錄密碼:");

int kk = scan.nextInt();

switch (kk) {

case 1:

System.out.println("請輸入已更改員工姓名:");

String newnname = scan.next();

cname[k] = newnname;

writeArray();

System.out.println("是否繼續(y/n)");

f = scan.next();

if (f.equals("y")) {

modifysale();

} else {

salesman();

}

break;

case 2:

System.out.println("請輸入已更改密碼:");

String newpass = scan.next();

cpass[k] = newpass;

writeArray();

System.out.println("是否繼續(y/n)");

// System.out.println("是否繼續(y/n)");

f = scan.next();

if (f.equals("y")) {

modifysale();

}

salesman();

break;

default:

break;

}

} } /* * 查詢ename姓名的售貨員在數組中的下標 */ static int searmember(String ename) {

for (int i = 0; i < cname.length; i++) {

if (cname[i].equals(ename)) {

return i;

}

}

return -1;// 不存在時

} /* * 查詢已出售的商品信息 */ static void besold()

{

System.out.println("商品名稱 " + "商品價格 " + "商品數量 " + "備注");

for (int i = 0; i < goodout.length; i++) {

if (goodout[i] != 0) {

System.out.println(goodname[i] + " " + goodprice[i]

+ " " + goodout[i]);

}

}

loadmenu7(); } /* * 查詢庫存中售的商品信息

*/ static void kusear() {

Scanner scan = new Scanner(System.in);

String f;

do {

System.out.println("輸入要查詢的商品名稱:");

String sname = scan.next();

int t = ndimsear(sname);//按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標

if (t >= 0) {

System.out.println("商品名稱 " + "商品價格 " + "商品數量 "

+ "備注");

System.out.println(goodname[t] + " " + goodprice[t]

+ " " + goodnum[t] + " ");//按下標輸出商品相應的信息

} else {

System.out.println("沒有此商品");

}

System.out.println("是否繼續(y/n)");

f = scan.next();

} while (f.equals("y"));

loadmenu7();

} /* * 按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標

*/ static int ndimsear(String s) {

for (int i = 0; i < goodname.length; i++) {

if (goodname[i].equals(s)) {

return i;

}

}

return -1;//沒查詢到時

}

/* * 商品結算

*/ static void pay() {

Scanner scan = new Scanner(System.in);

double sum = 0;

String f;

do {

dimsearch1();//按關鍵字進行模糊查詢,查找可能需要的商品

System.out.println("請選擇商品:");

String bnam = scan.next();//按查詢到的相關商品中選擇要購買的商品

System.out.println("請輸入購買數量:");

int bnum = scan.nextInt();

int fl = seargood(bnam);

System.out.println(bnam + " " + goodprice[fl] + " "

+ "購買數量" + bnum + " " + bnum * goodprice[fl]);

goodnum[fl] = goodnum[fl]sum));

writeArray();//將對數組的更改寫入到文件中

loadmenu1();//結束購買返回

} /* * 查找商品返回下標 */ static int seargood(String bbnam) {

for (int i = 0; i <= goodname.length; i++) {

if (goodname[i].equals(bbnam)) {

return i;

}

}

return -1; }

/* * 對商品進行各種查找

*/

static void loadmenu5() {

Scanner scan = new Scanner(System.in);

System.out.println("

1、按商品數量升序查詢");

System.out.println("

2、按商品價格升序查詢");

System.out.println("

3、輸入關鍵字查詢商品");

System.out.println("請選擇,輸入數字或按0返回上一級菜單:");

int choice = scan.nextInt();

switch (choice) {

case 0:

loadmenu2();//返回上一級

break;

case 1:

numshenxu();//按商品數量升序進行查找

break;

case 2:

priceshenxu();//按商品價格升序進行查找

break;

case 3:

dimsearch();//按商品的關鍵字進行查找

break;

default:

break;

}

}

static void dimsearch1() {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println("輸入商品關鍵字:");

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println("商品名稱 " + "商品價格 " + "商品數量 " + "備注");

if (k != null) {

for (int i = 0; i < k.length; i++) {

System.out.println(goodname[k[i]] + " " goodprice[k[i]]

+ " " + goodnum[k[i]] + " ");

}

}

} /* * 按商品的關鍵字進行查找

*/ static void dimsearch()

+ {

String f;

do {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println("輸入商品關鍵字:");

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println("商品名稱 " + "商品價格 " + "商品數量 "

+ "備注");

if (k != null) {

for (int i = 0; i < k.length; i++) {

System.out.println(goodname[k[i]] + " "

+ goodnum[k[i]]

+ " ");

}

goodprice[k[i]]

+

" "

+

}

System.out.println("是否繼續(y/n)");

f = scan.next(); } while (f.equals("y")); loadmenu2(); } static int[] index(String ss) { int countt = 0; int counttt = 0; for (int i = 0; i < goodname.length; i++) {

if (goodname[i].indexOf(ss) >= 0) {

countt++;

} } int[] location = new int[countt]; for (int i = 0; i < goodname.length; i++) {

if (goodname[i].indexOf(ss) >= 0) {

location[counttt] = i;

counttt++;

}

}

return location; } /* * 按商品數量升序進行查找

*/ static void numshenxu() {

int[] newnum = Arrays.copyOf(goodnum, goodnum.length);

double[]

newprice

=

Arrays.copyOf(goodprice, goodprice.length);

String[] goodname.length);

for (int i = 0; i < newnum.lengthi1; i++) {

for (int j = 0; j < newprice.length1; j++) {

if (newprice[j] < newprice[j + 1]) {

int temp = newnum[j];

newnum[j] = newnum[j + 1];

newnum[j + 1] = temp;

double temp1 = newprice[j];

newprice[j] = newprice[j + 1];

newprice[j + 1] = temp1;

String temp2 = newname[j];

newname[j] = newname[j + 1];

newname[j + 1] = temp2;//相應的下標在不同的數

newname

=

Arrays.copyOf(goodname, 組里進行挑換,商品的信息才能保持一致

}

}

}

System.out.println("商品名稱 " + "商品價格 " + "商品數量 " + "備注");

for (int k = 0; k < newnum.length; k++) {

if (newprice[k] != 0) {

System.out.println(newname[k] + " " + newprice[k]

+ " " + newnum[k] + " ");

}

}

loadmenu5(); } /* *更改商品信息的操作

*/ static void loadmenu3() {

Scanner scan = new Scanner(System.in);

System.out.println("輸入更改商品名稱:");

String nam = scan.next();

int b = showflage(nam);

print(b);

System.out.println("選擇您要更改的內容:");

System.out.println("

1、更改商品名稱::");

System.out.println("

2、更改商品價格:");

System.out.println("

3、更改商品數量:");

int ch = scan.nextInt();

switch (ch) {

case 0:

break;

case 1:

int counnt = 0;

String f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("輸入更改商品名稱:");

nam = scan.next();

b = showflage(nam);//查找需要更改商品的下標

print(b);//輸出這個商品的各種信息

}

System.out.println("請輸入已更改商品名稱");

String cname = scan.next();

goodname[b] = cname;//更改名稱

System.out.println("是否繼續(y/n)");

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 2:

counnt = 0;

f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("輸入更改商品名稱");

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println("請輸入已更改商品價格");

double cprice = scan.nextDouble();

goodprice[b] = cprice;//新價格寫入數組

System.out.println("是否繼續(y/n)");

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 3:

counnt = 0;

f = "y";

while (f.equals("y")) {

if (counnt != 0) {

// Scanner scan = new Scanner(System.in);

System.out.println("輸入更改商品名稱");

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println("請輸入已更改商品數量");

int cnum = scan.nextInt();

goodnum[b] = cnum;

counnt++;

writeArray();

System.out.println("是否繼續(y/n)");

f = scan.next();

}

loadmenu2();

break;

default:

break;

}

} /* * 查詢nama這個商品在goodname中的下標

*/ static int showflage(String nama) {

int flag = 0;

for (int i = 0; i < goodname.length; i++) {

if (goodname[i].equals(nama)) {

flag = i;

break;

}

}

return flag; }

static void print(int b) {

System.out.println("商品名稱 " + "商品價格 " + "商品數量 " + "備注");

System.out.println(goodname[b] + " " + goodprice[b] + " "

+ goodnum[b] + " ");

} /* * 刪除商品菜單

*/ static void loadmenu4() {

String f;

int d;

do {

Scanner scan = new Scanner(System.in);

System.out.println("請輸入要刪除的商品名稱:

String dname = scan.next();

d = showflage(dname);

delete(d);

System.out.println("是否繼續(y/n)");

f = scan.next();

writeArray();//刪除之后重新寫入文件

} while (f.equals("y"));

loadmenu2(); }

"); /* * 刪除商品 */ static void delete(int dd) {

for (int i = dd; i < goodname.length1] = null;

goodprice[goodprice.length1] = 0;

} /* * 查詢所有商品

*/ static void showgoods() {

int i = 0;

while (goodprice[i] != 0) {

System.out.print(goodname[i] +

" " goodprice[i] + " "

+

+ goodnum[i] + " ");

if (goodnum[i] < 10) {

System.out.println(" *該商品已不足10件!");

}

System.out.println();

i++;

}

loadmenu2();

} /* * 商品添加操作 */ static void addgoods() {

System.out.println("執行添加商品操作: ");

String a;

do {

Scanner scan = new Scanner(System.in);

System.out.println("輸入商品名稱:");

String na = scan.next();

add(goodname, na, sign);

System.out.println("輸入添加商品價格:");

double pr = scan.nextDouble();

add(goodprice, pr, sign);

System.out.println("輸入添加商品數量:");

int c = scan.nextInt();

add(goodnum, c, sign);

sign++;

System.out.println("是否繼續(y/n)");

a = scan.next();

writeArray();

} while (a.equals("y"));

loadmenu2();

} /* * 將數組信息寫入到相應的文件里,啟動程序時就要調用這個函數 */ static void writeArray() {

BufferedWriter bw = null;

try {

bw

=

new

BufferedWriter(new FileWriter("d:gname.txt"));

String content1 = strToString(goodname);

bw.write(content1);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gprice.txt"));

String content2 = doubleToString(goodprice);

bw.write(content2);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gnum.txt"));

String content3 = intToString(goodnum);

bw.write(content3);

bw.close();

bw = new BufferedWriter(new FileWriter("d:cname.txt"));

String content4 = strToString(cname);

bw.write(content4);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:cpass.txt"));

String content5 = strToString(cpass);

bw.write(content5);

bw.close();

bw

=

new

BufferedWriter(new FileWriter("d:gout.txt"));

String content6 = intToString(goodout);

bw.write(content6);

bw.close();

} catch (IOException e) {

e.printStackTrace();

} } /* * 添加商品名稱 */ static void add(String[] aa, String n, int b) {

if (b == aa.length) {

aa = (String[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = n; } /* * 添加商品價格

*/ static void add(double[] aa, double pr, int b) {

if (b == aa.length) {

aa = (double[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = pr; } /* * 添加商品數量

*/ static void add(int[] aa, int cc, int b) {

if (b == aa.length) {

aa = (int[]) Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = cc;

}

/** * 從文件中讀取信息到相應的數組里

*/ static void readArrays(String name) throws Exception {

BufferedReader br = null;

try {

if ("goodname".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:gname.txt"));

String content1 = br.readLine();

String[] arr = strToString(content1);

goodname arr.length);

for (int i = 0; i < goodname.length; i++) {

if (!goodname[i].equals("null")) {

sign++;

=

(String[])

Arrays.copyOf(arr,

}

}

} else if ("goodprice".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:gprice.txt"));

String content2 = br.readLine();

double[] arr = doubleToString(content2);

goodprice arr.length);

} else if ("goodnum".equals(name)) {

br

=

new

BufferedReader(new

=

(double[])

Arrays.copyOf(arr, FileReader("d:gnum.txt"));

String content3 = br.readLine();

int[] arr = intToString(content3);

goodnum = (int[]) Arrays.copyOf(arr, arr.length);

} else if ("cname".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:cname.txt"));

String content4 = br.readLine();

String[] arr = strToString(content4);

cname arr.length);

= (String[]) Arrays.copyOf(arr,

for (int i = 0; i < cname.length; i++) {

if (!cname[i].equals("null")) {

sign1++;

}

}

} else if ("cpass".equals(name)) {

br

=

new

BufferedReader(new FileReader("d:cpass.txt"));

String content5 = br.readLine();

String[] arr = strToString(content5);

cpass arr.length);

} else {

br

=

new

BufferedReader(new

=

(String[])

Arrays.copyOf(arr, FileReader("d:gout.txt"));

String content6 = br.readLine();

int[] arr = intToString(content6);

goodout = (int[]) Arrays.copyOf(arr, arr.length);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

} /* * 將字符串轉換成字符串數組 */ static String strToString(String[] arry) {

// String arrys="";

// for(int i=0;i

// {

// arrys=arry+arry[i]+",";

// }

// //arrys=arrys+arry[arry.length-1];

// System.out.println(arrys);

// return arrys;

StringBuilder sb = new StringBuilder();

for (int i = 0; i < arry.length; i++) {

sb.append(arry[i]).append(",");

}

sb.deleteCharAt(sb.length() - 1);

// System.out.println(sb.toString());

return sb.toString(); } /* * 將字符串轉換成字符串數組 */ static String[] strToString(String ar) {

String[] arry = ar.split(","); return arry; } /* * 將int型數組轉換成字符串 */ static String intToString(int[] arrr) {

String ss = "";

ss = Arrays.toString(arrr);

String sss

=

ss.replace("[",

"").replace("]", "").replace(" ", "");

第五篇:Java圖書管理系統實習報告

陜西科技大學畢業實習(專業實習)報告

一、 實習目的

本次實習的目的主要有2個:

(一) 通過親手對計算機硬件的拆卸,對計算機的硬件要有更深刻的認識和理解。

(二) 通過設計圖書管理系統,對相關編程知識有了更進一步的運用,以及其具體實現的細節也有了更深刻的認識。

二、 實習單位及崗位介紹

本次實習在陜西科技大學理學院的綜合實驗室進行。

三、 實習安排

本次實習的時間是三周:前一周進行硬件實習,后兩周進行軟件實習。

四、 實習內容

(一) 硬件實習:

2月23日開始了為期1周的硬件實習,在這段時間里,主要是進行了對計算機主機進行了裝卸,通過裝卸讓我們對計算機內部各個部件的協同工作有了更深的認識。 (二) 軟件實習:

3月1日開始了為期2周的軟件實習。我選擇的題目是“圖書管理系統”, 對于這個題目,整個系統是由3個數據表,3類用戶,以及4類動作。 1. 配置數據庫

在SQL Server2000中創建圖書管理系統的數據庫demo,創建3個數據表books,bookBrowse,UserTable。

2. 生成配置文件hibernate.cfg.xml.文件如下:

1

陜西科技大學畢業實習(專業實習)報告

3. 創建持久化對象以及創建映射文件:

4.Hibernate操作數據庫的方法(HibernateUtil.java)。

2

陜西科技大學畢業實習(專業實習)報告

5. 系統主界面(LibraryWindow.java)。 6. 用戶管理:

1) 用戶登錄(UserLogin.java) 2) 添加用戶(UserAdd.java) 3) 修改用戶(UserModify.java) 4) 刪除用戶(UserDelete.java) 7. 書籍管理模塊:

1) 書籍添加(BookAdd.java)

2) 書籍信息修改(BookModify.java) 3) 書籍刪除(BookDelete.java) 4) 書籍列表(BookList.java) 8. 借書管理模塊:

1) 借閱圖書類(BorrowBook.java) 2) 修改出借圖書信息(BorrowInfo.java) 9.

還書管理模塊:

1) 書籍還入(ReturnBook.java) 2) 還書信息類(ReturnInfo.java) 10. 部分運行效果圖如下:

3

陜西科技大學畢業實習(專業實習)報告

4

陜西科技大學畢業實習(專業實習)報告

五、 實習總結和體會

通過這次實習,我對計算機的軟件和硬件有了全面的了解。

拿硬件來說吧,以前也就是聽說過什么總線,cpu,主板,硬盤這些概念,通過實習我真實的接觸了這些部件,對其內部的安裝有了直接的認識。 拿軟件來說,這次我做這個系統只要是應用java語言的AWT元件和swing組件,以及hibernate實現從對象到關系的映射,其實我做的時候對hibernate也不是很了解,但是做的過程發現了困難就會主動的去找各種資源尋求解答,當然這個過程就是成長的過程。軟件架構或者語言有很多很多,所以,我還得好好努力啊。

5

本文來自 99學術網(www.gaojutz.com),轉載請保留網址和出處

上一篇:科技局2009年工作總結下一篇:紀檢部工作計劃3000字

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火