欢迎来到天天文库
浏览记录
ID:20607664
大小:88.00 KB
页数:14页
时间:2018-10-14
《java实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《Java语言程序设计》实验报告实验序号:3实验项目名称:熟练java语法、常用方法、程序结构学 号10090401xx姓 名xx专业、班电子商务1002实验地点xx指导教师xx时间2012.4.26一、实验目的及要求1、进一步熟练Java语法和常用方法的使用;2、进一步熟练Java程序结构;3、进一步提高算法设计与实现的能力;4、为后续章节的学习打下坚实的基础;二、实验设备(环境)实验室计算机、windowsxp系统、myeclipse三、实验内容与步骤1.随机生成100个0到200的整数,用折半查找法(二分法)查找50是第几个数,并输出查找过程(即和什
2、么数进行了比较)。(折半查找是在已经排序的数据中做的查找,所以先要排序)2.显示任意一个月份的日历(>1900)(一周一行,要有月名、表头和横线。按列右对齐,用String.format("%1$4d",intNumber)可以将任意整数intNumber格式化成前面补“空格”的4位定长字符串)3.显示出任一年份的日历(>1900)4.用数组模拟实现一个50个字符串的堆栈,并使这个堆栈有如下方法和参数:myStack:数组名,使用时不能直接对这个数组进行存取操作,存取操作都通过pop()和push()完成。实现pop():弹出实现push():压入实现isFu
3、ll():是否已满实现isEmpty():是否为空实现length():已有多少元素要点:要将代码设计成有通用性,也就是说要考虑各种可能的情况,考虑越多,你的程序就越稳定可靠,高可靠性的代码一直是一个开发人员追求的最高目标之一。5.使用堆栈,将中缀算术表达式转换成后缀表达式。a)表达式中只有+、-、×,/,%,(,)六种运算符b)变量名为以英文字母开头的字母数字串c)表达式中可以出现不带符号的常数d)适当判断表达式中的语法错误e)不计算结果f)参考:(算法描述)1.若遇到的是数字或小数点,则直接写入到strResult中(strResult为结果字符串);2.
4、若遇到的是左括号,则应把它压入到运算符栈中;3.若遇到的是右括号,把从栈顶直到保存着的对应左括号之间的运算符依次退栈并写入strResult串中;4.若遇到的是运算符:4.1当该运算符的优先级大于栈顶运算符的优先级时,进栈4.2若遇到的运算符的优先级小于或等于栈顶运算符的优先级,这表明栈顶运算符的两个运算对象已经被保存到strResult串中,应将栈顶运算符退栈并写入到strResult串中,对于新的栈顶运算符仍继续进行比较和处理,直到被处理的运算符的优先级大于栈顶运算符的优先级为止,然后让该运算符进栈即可。四、实验结果与数据处理程序代码:importjava
5、.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassexperiment_3{staticintintInputValue;staticStringstrInputValue;staticintlength;publicstaticvoidmain(Stringargs[]){random();//第1题随机数排序查找的功能calendar();//第二题日历的功能String[]myString=newString[]{""};Syst
6、em.out.print("请输入合法的中缀表达式:");if(getStringInput(myString))MidfixToSuffix(myString[0]);}staticvoidrandom(){int[][]anArray;anArray=newint[100][2];//二维数组,存取随机数和其固定编号for(inti=0;i<100;i++){anArray[i][0]=(int)(Math.random()*200)+1;//产生100个在1-200之间的随机数anArray[i][1]=i+1;}System.out.println("
7、随机产生的数为:");for(inti=0;i<100;i++)//打印排序前的随机数{System.out.print(String.format("%1$5d",anArray[i][0]));if((i+1)%20==0)System.out.println();}BobbleSort(anArray);//调用排序函数对随机数进行排序System.out.println("排序后的数为:");for(inti=0;i<100;i++){System.out.print(String.format("%1$5d",anArray[i][0]));if((
8、i+1)%20==0)System.o
此文档下载收益归作者所有