資源描述:
《java實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、《Java語言程序設(shè)計》實驗報告實驗序號:3實驗項目名稱:熟練java語法、常用方法、程序結(jié)構(gòu)學 號10090401xx姓 名xx專業(yè)、班電子商務1002實驗地點xx指導教師xx時間2012.4.26一、實驗目的及要求1、進一步熟練Java語法和常用方法的使用;2、進一步熟練Java程序結(jié)構(gòu);3、進一步提高算法設(shè)計與實現(xiàn)的能力;4、為后續(xù)章節(jié)的學習打下堅實的基礎(chǔ);二、實驗設(shè)備(環(huán)境)實驗室計算機、windowsxp系統(tǒng)、myeclipse三、實驗內(nèi)容與步驟1.隨機生成100個0到200的整數(shù),用折半查找法(二分法)查找50是第幾個數(shù),并輸出查找過程(即和什
2、么數(shù)進行了比較)。(折半查找是在已經(jīng)排序的數(shù)據(jù)中做的查找,所以先要排序)2.顯示任意一個月份的日歷(>1900)(一周一行,要有月名、表頭和橫線。按列右對齊,用String.format("%1$4d",intNumber)可以將任意整數(shù)intNumber格式化成前面補“空格”的4位定長字符串)3.顯示出任一年份的日歷(>1900)4.用數(shù)組模擬實現(xiàn)一個50個字符串的堆棧,并使這個堆棧有如下方法和參數(shù):myStack:數(shù)組名,使用時不能直接對這個數(shù)組進行存取操作,存取操作都通過pop()和push()完成。實現(xiàn)pop():彈出實現(xiàn)push():壓入實現(xiàn)isFu
3、ll():是否已滿實現(xiàn)isEmpty():是否為空實現(xiàn)length():已有多少元素要點:要將代碼設(shè)計成有通用性,也就是說要考慮各種可能的情況,考慮越多,你的程序就越穩(wěn)定可靠,高可靠性的代碼一直是一個開發(fā)人員追求的最高目標之一。5.使用堆棧,將中綴算術(shù)表達式轉(zhuǎn)換成后綴表達式。a)表達式中只有+、-、×,/,%,(,)六種運算符b)變量名為以英文字母開頭的字母數(shù)字串c)表達式中可以出現(xiàn)不帶符號的常數(shù)d)適當判斷表達式中的語法錯誤e)不計算結(jié)果f)參考:(算法描述)1.若遇到的是數(shù)字或小數(shù)點,則直接寫入到strResult中(strResult為結(jié)果字符串);2.
4、若遇到的是左括號,則應把它壓入到運算符棧中;3.若遇到的是右括號,把從棧頂直到保存著的對應左括號之間的運算符依次退棧并寫入strResult串中;4.若遇到的是運算符:4.1當該運算符的優(yōu)先級大于棧頂運算符的優(yōu)先級時,進棧4.2若遇到的運算符的優(yōu)先級小于或等于棧頂運算符的優(yōu)先級,這表明棧頂運算符的兩個運算對象已經(jīng)被保存到strResult串中,應將棧頂運算符退棧并寫入到strResult串中,對于新的棧頂運算符仍繼續(xù)進行比較和處理,直到被處理的運算符的優(yōu)先級大于棧頂運算符的優(yōu)先級為止,然后讓該運算符進棧即可。四、實驗結(jié)果與數(shù)據(jù)處理程序代碼:importjava
5、.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassexperiment_3{staticintintInputValue;staticStringstrInputValue;staticintlength;publicstaticvoidmain(Stringargs[]){random();//第1題隨機數(shù)排序查找的功能calendar();//第二題日歷的功能String[]myString=newString[]{""};Syst
6、em.out.print("請輸入合法的中綴表達式:");if(getStringInput(myString))MidfixToSuffix(myString[0]);}staticvoidrandom(){int[][]anArray;anArray=newint[100][2];//二維數(shù)組,存取隨機數(shù)和其固定編號for(inti=0;i<100;i++){anArray[i][0]=(int)(Math.random()*200)+1;//產(chǎn)生100個在1-200之間的隨機數(shù)anArray[i][1]=i+1;}System.out.println("
7、隨機產(chǎn)生的數(shù)為:");for(inti=0;i<100;i++)//打印排序前的隨機數(shù){System.out.print(String.format("%1$5d",anArray[i][0]));if((i+1)%20==0)System.out.println();}BobbleSort(anArray);//調(diào)用排序函數(shù)對隨機數(shù)進行排序System.out.println("排序后的數(shù)為:");for(inti=0;i<100;i++){System.out.print(String.format("%1$5d",anArray[i][0]));if((
8、i+1)%20==0)System.o