java+实现集合并运算_JAVA程序设计报告+集合运算
JAVA程序設計報告+集合運算
JAVA程序設計報告集合的運算(交并差)學生學號專業(yè)信息工程(系統(tǒng)工程方向)院系信息與控制學院實習時間三周;指導老師陳金輝目錄實驗目的試驗設計實驗源程序程序設計調試不足及改進如何美觀第一章程序設計目的本次課程設計報告主要是老師對學生綜合編程能力的一次評測,在掌握C,JAVA語言的基礎上,學會自主的編制一些基本的程序。本次的實驗課題是對集合的運算進行實驗。在JAVA平臺上開發(fā)出集合運算的程序。第二章程序設計思路一集合的運算,我們要求的是集合的交并差。首先了解集合的交并差是如何讓運算的。掌握運算的思路才能把程序設計思路調試出來。1集合的交對于給定的兩個集合,要求出給定的兩個集合的交集,交集和就是將其中都相同的元素找出來,將之放入第三個集合里,輸出第三集合里的元素。如A1,2,3,4;B2,4,5,6;CAB;C2,4;需要中間變量C需要定義新的數組,INTCNEWINT202集合的差對于給定的兩個集合,集合的差就是找出A集合中不同于B集合里面的元素,并將之存入第三集合C中,同樣也需要引入第三集合,但是尋找A集合中不同于集合B中的方法不是很容易想到。需要先定義一個標記,從標記入手,依次尋找。將在下一章中重點介紹。A1,2,3,4;B2,4,5,6;,;3集合的并對于給定的兩個集合,集合的并就是將A集合與B集合中的所有的元素都找一遍,相同的元素的只將其賦一次值于第三集合里。主要思想是在集合差的基礎上,再做一次賦值運算就可以了,由于集合差的運算中,已經找到了中異于中的元素,然后再將中的元素再賦值于第三集合就可以了。A1,2,3,4;B2,4,5,6;,;,,,,,;二主要思想以數組的形式來代替集合,通過數組的運算來進行集合的運算。首先定義數組,再在數組中進行定義一個類,再定義成員變量,構造成員方法,成員方法是對數組也就是集合來進行操作的一種手段。由于是直接賦值了,我們找不到類。我們需要先進行定義一個類NEWMAINANEWNEWMAINAAARRAYCABARRAYD通過地址調用來完成對數組的調用以及修改,因為我們不僅需要對整形數組進行交并差的運算,還要對實型數組,字符型數組進行運算。為了美化和方便程序,為了能實現一個友好的人機界面,就必須以多種方法的形式出現在你的JAVA程序中。之前,我也試過了將多個函數模塊寫在主方法中,發(fā)現了如下問題1在主方法中要用來存儲第A,B中相異的元素的第三集合需要定義很多,和比較的中間變量也比較多。使程序看起來一是冗雜,而是出現問題很多,很難進行調試。2難以實現用戶的自主性,因為在同一個主方法中,所有的函數都是按照順序從上往下執(zhí)行的不能選擇性的跳過。這就增加函數的選擇的難度。所以想到用多方法定義集合運算,在個定義了一個抽象的數據類型后,還需為這個類型的對象定義相應的操作。分別是整形的,實型的,字符型的交并差的方法。PUBLICSTATICVOIDINTJIHE;PUBLICVOIDCHARJIHECHARAARRAY,CHARBARRAY等等。其中三種集合的操作都是一樣的。只是在形式上以及操作類型上出現一些細微的差別。但是算法本質上沒有很大的差別。初始時想通過找到A,B集合中的A異于B的元素于是編出JAVA函數代碼。FORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCARRAYKAARRAYI結果發(fā)現這段函數根本實現不了其所期望的功能,根本原因在于他只是找到一個與B中第一個不一樣的元素就輸出,終止了操作。其結果肯定是不行的。以下附上正確的源代碼OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTERCARRAYKAARRAYI這是在函數還標記了一個位置好讓函數在找到不同的元素,還能繼續(xù)遍歷下一個元素直至找到A中所有的元素不同于B的元素,能實現我們的目的。下面附上完整和美化后的函數源代碼(函數的功能標記注釋)IMPORTJAVAUTILSCANNERPUBLICCLASSNEWMAINSTATICINTAARRAYSTATICINTBARRAY/定義成員變量/STATICCHARDARRAY//A,B,C,D//進行函數的測試STATICCHAREARRAY//C,H,JSTATICDOUBLEGARRAYSTATICDOUBLEHARRAYPUBLICSTATICVOIDINTJIHE//整形集合的運算方法INTCARRAYNEWINT20INTDARRAYNEWINT20//開辟中間函數的空間INTI,J,K0,L,T0,M,N,R0,BOUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTER//如果找到相同的返回函數頭繼續(xù)做CARRAYKAARRAYITK//找到相同的符號(字母,數字,實型)//SYSTEMOUTPRINTLN“T“T//用于檢查T是否進行正確操作IFT0SYSTEMOUTPRINT“該集合的差集為空集“ELSESYSTEMOUTPRINTLN“集合減的結果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB“SYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“//輸出集合減的結果SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJCARRAYKBARRAYJ//SYSTEMOUTPRINTLNK/檢測K賦值多少即是找到A,B中相同的數字多少/SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“集合并的結果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AUB“SYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN//換行用于美化0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合沒有交集請重新檢查輸入是否合法“ELSESYSTEMOUTPRINT“集合交的結果“//輸出集合交的結果SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB“SYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICVOIDCHARJIHECHARAARRAY,CHARBARRAY//字符型集合運算的方法INTI,J,K0,L,T0,M,N,R0,BCHARCARRAYNEWCHAR20CHARDARRAYNEWCHAR20OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTER//如果找到相同的返回函數頭繼續(xù)做CARRAYKAARRAYITK//SYSTEMOUTPRINTLN“T“TIFT0SYSTEMOUTPRINT“該集合的差集為空集“SYSTEMOUTPRINTLN“集合減的結果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJCARRAYKBARRAYJ//SYSTEMOUTPRINTLNK/檢測K賦值多少即是找到A,B中相同的數字多少/SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“集合并的結果是“//找到不相同的目標后,把另外一個數組的元素調進去SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合沒有交集請重新檢查輸入是否合法“ELSESYSTEMOUTPRINT“AB交集的結果是“SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICVOIDDOUBLEJIHEDOUBLEAARRAY,DOUBLEBARRAY//DOUBLE型數據處理INTI,J,K0,L,T0,M,N,R0,BDOUBLEDARRAYNEWDOUBLE20DOUBLECARRAYNEWDOUBLE20OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTERCARRAYKAARRAYITK//尋找異于B中的數//SYSTEMOUTPRINTLN“T“T//用于檢查T是否進行正確操作IFT0SYSTEMOUTPRINT“該集合的差集為空集“ELSESYSTEMOUTPRINTLN“集合減的結果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJ//轉移操作CARRAYKBARRAYJSYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB并的結果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合沒有交集請重新檢查輸入是否合法“ELSESYSTEMOUTPRINT“集合交的結果是“SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICSTATICVOIDMAINSTRINGARGSNEWMAINANEWNEWMAININTC1,2,3,4INTD2,3,5,6CHAREA,B,C,D//變量賦值操作CHARFC,H,JDOUBLEG11,13//,17,21,40//DOUBLEH10,12//,14,15用于修改調試AAARRAYCABARRAYDSYSTEMOUTPRINTLN“請輸入你的選擇按下面提示操作“SYSTEMOUTPRINTLN“1整形數組2字符型數組3字符型數組“SCANNERANEWSCANNERSYSTEMIN//輸入函數選擇操作INTBANEXTINTSWITCHBCASE1AINTJIHEBREAKCASE2ACHARJIHEE,FBREAKCASE3ADOUBLEJIHEG,HJAVA程序運行結果展示,運用NETBEANSIDE691軟件運行本文是通過網絡收集的資料,如有侵權請告知,我會第一時間處理。本店專業(yè)提供豆丁網道客巴巴百度文庫智客(21ASK)文檔在線網站的原始文檔下載服務。收費標準1、豆丁網按照豆丁網原價的50收取,不收手續(xù)費。2、道客巴巴按照道客巴巴網站原價的90收取,不收手續(xù)費。3、百度文庫所有文檔,無論多少積分,統(tǒng)一收取1元,不收手續(xù)費。4、智客網按照智客網的原價收取,手續(xù)費1元。(智客網站每次充值最少是20元)5、文檔在線所有文檔,無論多少積分,統(tǒng)一收取5元,不收手續(xù)費(文檔在線網站,每次充值至少20元)。關于發(fā)貨(5分鐘內完成)1、通過旺旺發(fā)送。2、通過QQ發(fā)送。3、通過郵箱發(fā)送。聯系方式1、QQ16405228812、旺旺MX5976516613、郵箱1640522881QQCOM4、手機15018530036(限短信)注意事項1、所有文檔一經售出概不退款。2、大家購買時,請按實際的價格選擇合適的寶貝數量。否則不予發(fā)貨。謝謝配合。3、拍下寶貝時,務必備注清楚文檔網站鏈接地址(或者文檔的完整名稱)以及郵箱地址。4、店主在線時再拍,以防止不能及時的給您發(fā)貨。您有任何疑問,請聯系我歡迎大家前來咨詢營業(yè)時間早上10300100
總結
以上是生活随笔為你收集整理的java+实现集合并运算_JAVA程序设计报告+集合运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 业务账户_mysql的事务
- 下一篇: 算术运算符举例java_Java的算术运