JAVA实验报告.docx
- 文档编号:28188808
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:63
- 大小:214.07KB
JAVA实验报告.docx
《JAVA实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告.docx(63页珍藏版)》请在冰豆网上搜索。
JAVA实验报告
学生实验报告册
(理工类)
课程名称:
面向对象程序设计专业班级:
16计算机科学与技术(专转本)
学生学号:
1613203022学生:
义丹
所属院部:
计算机工程指导教师:
晶
2016——2017学年第2学期
金陵科技学院教务处制
实验报告书写要求
实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。
实验报告书写说明
实验报告中实验目的和要求、实验仪器和设备、实验容与过程、实验结果与分析这四项容为必需项。
教师可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验项目名称:
Java编程基础实验学时:
6
同组学生:
————实验地点:
工科楼A101
实验日期:
17.3.21~17.4.4实验成绩:
批改教师:
晶批改时间:
实验1Java编程基础
一、实验目的和要求
(1)熟练掌握JDK1.6及Eclipse4.2编写调试Java应用程序及Java小程序的方法;
(2)熟练掌握Java应用程序的结构;
(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;
(4)熟练掌握常见数据类型的使用;
(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;
(6)熟练掌握数组和字符串的使用;
(7)调试程序要记录调试过程中出现的问题及解决办法;
(8)编写程序要规、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(9)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows操作系统,装有JDK1.6和Eclipse4.2软件。
三、实验过程
(1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Helloworld”字符串,并输出,记录操作过程。
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("Hello!
");
}
}
(2)分别使用JDK命令行和Eclipse编译JavaApplet,并建立HTML文档运行该Applet。
压缩生成".jar"文件。
记录操作过程。
importjava.awt.*;
importjava.applet.Applet;
publicclassHelloAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.setColor(Color.red);
g.drawString("Hello!
",20,20);
}
}
(3)根据变量score中存放的考试分数,输出对应的等级。
要求从键盘输入学生成绩,
60分以下为D等;60~69为C等;70~89为B等;90~100为A等。
(4)编写一个JavaApplication程序,输出区间[200,300]上的所有素数,将其用数组prime[]保存,并以每10个一行的形式显示运行结果。
(5)输出下列数字形式,要求用二维数组完成。
①n=4
0000
0111
0122
0123
②n=4
1
121
12321
1234321
(6)求二维数组的鞍点,即该位置上的元素在该行上最大,在列上最小。
也可能无鞍点。
(7)分析下列程序的输出结果,掌握equals()方法和“==”的区别。
classStringTest2{
publicstaticvoidmain(Stringargs[]){
Strings1="Thisisthesecondstring.";
Strings2="Thisisthesecondstring.";
Strings3=newString("Thisisthesecondstring.");
Strings4=newString(s1);
Strings5=s1;
booleanresult121=s1.equals(s2);
booleanresult122=s1==s2;
booleanresult131=s1.equals(s3);
booleanresult132=s1==s3;
booleanresult141=s1.equals(s4);
booleanresult142=s1==s4;
booleanresult151=s1.equals(s5);
booleanresult152=s1==s5;
System.out.println("s1equalss2="+result121);
System.out.println("s1==s2="+result122);
System.out.println("s1equalss3="+result131);
System.out.println("s1==s3="+result132);
System.out.println("s1equalss4="+result141);
System.out.println("s1==s4="+result142);
System.out.println("s1equalss5="+result151);
System.out.println("s1==s5="+result152);
}
}
(8)判断回文字符串
回文是一种“从前向后读”和“从后向前读”都相同的字符串。
如“rotor”是一个回文字符串。
程序中使用了两种算法来判断回文字符串:
算法一:
分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:
否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。
算法二:
将原串str反转成temp串,再比较两串,如果相等则是回文字符串。
(9)使用String类的compareTo(Strings)方法,对以下字符串从小到大排序:
“melon”,“apple”,“pear”,“banana”,显示输出排序结果。
要求:
(1)编译调试程序之前应配置好环境变量;
(2)要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;
(3)注意Java两大类程序:
应用程序和小程序的区别。
程序清单:
(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。
)
(1)主方法传递参数“Helloworld”字符串,并输出
publicclassHello{
publicHello(){
System.out.println("HelloWorld!
");
}
publicstaticvoidmain(Stringargs[]){
newHello();
}
}
(2)Eclipse编译JavaApplet
importjava.awt.*;
importjava.applet.Applet;
publicclassHelloAppletextendsApplet{
intheight,width;
publicvoidinit(){
this.height=100;
this.width=300;
}
publicvoidpaint(Graphicsg){
g.setColor(Color.red);
g.drawString("Hello!
",20,20);
}
}
(3)
packageb;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intscore;
//chargrade;
System.out.println("请输入分数按回车");
Scannerreader=newScanner(System.in);
score=reader.nextInt();
if(score>=90&&score<=100){
System.out.println("A");
}
elseif(score>=70&&score<=89){
System.out.println("B");
}
elseif(score>=60&&score<=69){
System.out.println("C");
}
elseif(score<60){
System.out.println("D");
}
else{
System.out.println("数据错误");
}
}
}
(4)
publicclassLim{
publicstaticvoidmain(String[]args){
int[]prime=calculation(20,200,300);
for(inti=0;i if(prime[i]! =0){ if(i%10==0&&i! =0) System.out.println(); System.out.print(prime[i]+"");//打印数据 } } } publicstaticint[]calculation(intlength,intstart,intend){ intj; intstep=0; int[]prime=newint[length]; for(inti=start;i<=end;i++) { j=2; while(i%j! =0){ j++; } if(j==i) { prime[step]=i; step++; } } returnprime; } } (5) publicclassshuzu{ publicstaticvoidmain(Stringargs[]){ inti,j; intarr[][]=newint[4][]; for(i=0;i arr[i]=newint[arr.length]; for(i=0;i<4;i++) for(j=3;j>=i;j--){ arr[i][j]=i; } for(j=0;j<4;j++){ for(i=3;i>=j;i--){ arr[i][j]=j; } } for(i=0;i<=3;i++){ for(j=0;j<=3;j++){ System.out.print(arr[i][j]); System.out.print(""); } System.out.println(); } } } publicclassShuzu{ publicstaticvoidmain(Stringargs[]){ intnum[][]=newint[4][]; for(inti=0;i num[i]=newint[2*i+1]; for(intm=0;m System.out.print(""); } intk=i+1; for(intj=0;j if(j<=i) num[i][j]=j+1; else{ k--; num[i][j]=k; } System.out.print(num[i][j]+""); } System.out.println(); } } } (6) publicclasstest{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub int[][]mat={{11,12,13},{4,5,6},{7,8,9}}; for(inti=0;i { for(intj=0;j System.out.print(mat[i][j]+""); System.out.println(); } booleanfind=false;//找到鞍点标记 introw=0;//第1行下标 intmax=0;//记录当前行最大值的列下标 while(! find&&row { max=0;//初始设每行第1列值最大 for(intj=1;j if(mat[row][j]>mat[row][max])//mat[row][max]为该行最大值 max=j; booleanyes=true;//再判断mat[row][max]是否在列上最小 intj=0; while(yes&&j { if(mat[j][max] yes=false; j++; } if(yes) find=true; else row++; } if(find) System.out.println("Thedort: "+mat[row][max]); else System.out.println("Thedort: null"); } } (8)importjava.util.Scanner; publicclassHuiWenTest{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub System.out.println("请输入一个字符串"); SuppressWarnings("resource") Scannerinput=newScanner(System.in); Stringstr=input.next(); StringBuildersb=newStringBuilder(str); sb.reverse();//将Sr倒置的方法 StringnewStr=newString(sb); if(str.equals(newStr)){ System.out.println(str+"是回文字符串"); }else{ System.out.println(str+"不是回文字符串"); } } } (9)importjava.util.*; publicclassSortString{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub String[]a={"melon","apple","pear","banana"}; String[]b=Arrays.copyOf(a,a.length); System.out.println("使用用户编写的SortString类,按字典序排列数组a: "); SortString.sort(a); System.out.println("排序结果是: "); for(Strings: a){ System.out.print(""+s); } System.out.println(""); System.out.println("使用类库中的Arrays类,按字典序排列数组b: "); Arrays.sort(b); System.out.println("排序结果是: "); for(Strings: b){ System.out.print(""+s); } } 四、实验结果与分析(程序运行结果及其分析) (1) (2) (3) (4) (5) (6) (7) (8) (9) 五、实验体会(遇到问题及解决办法,编程后的心得体会) 在这次实验中,我知道了eclipse和jdk运行程序的区别,jdk比较麻烦一些,需要配置变量。 在实验中,配置jdk的环境变量要注意它的path和classpath,如果classpath本身就有,可以在后面加分号,这样不影响其它的classpath的使用。 学会了如何生成注释文档,主函数传递参数的方法,还有压缩文件,实验中还对数组的创建和使用进行了练习,还有一些类的应用。 实验项目名称: 面向对象编程实验学时: 8 同组学生: ————实验地点: 工科楼A101 实验日期: 17.4.11~17.5.2实验成绩: 批改教师: 晶批改时间: 实验2面向对象编程 一、实验目的和要求 (1)熟练掌握Java语言类定义的基本语法; (2)熟练掌握类成员的访问控制,对象建立的方法; (3)熟练掌握类构造方法、成员方法的定义和重载; (4)熟练掌握类继承、多态和抽象性; (5)熟练掌握接口的定义和实现方法; (6)掌握基本的异常处理方法; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows操作系统,装有JDK1.6和Eclipse4.2软件。 三、实验过程 (1)定义一个Man类,保存在Man.java文件中,类中包含说话方法如下: publicclassMan { publicvoidsay() { System.out.println(“我是中国人! ”); } } 为此类打包为cn.edu.jit.chinese;再在Man.java文件所在路径下,创建一个China.java文件,其中定义China类如下: publicclassChina { publicstaticvoidmain(String[]args) { Manlihua=newMan(); lihua.say(); } } 在China类中引用Man类,输出显示“我是中国人! ”。 试着去掉Man类的public修饰,看看会发生什么情况? (2)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、字符串描述、比较是否相等等操作。 (3)包的建立与使用: 设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。 观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。 编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。 (4)试编码实现简单的银行业务: 处理简单存取款、查询。 编写银行类BankAccount,包含数据成员: 余额(balance)、利率(interest);操作方法: 查询余额、存款、取款、查询利率、设置利率。 再编写主类UseAccount,包含main()方法,创建BankAccount类的对象,并完成相应操作。 (5)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。 根据上述要求,请完成以下Java类的设计: 1)设计一个基类Student描述学生的共同特征。 2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。 (6)设计三角形类,继承图形抽象类,计算三角形面积和周长。 (7)试编码实现多态在工资系统中的应用: 给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。 Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。 该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。 在主测试类Test中测试各类雇员工资计算结果。 提示: 对所有雇员类型都使用ea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验 报告