Java面向对象程序设计实验指导模板代码资料.docx
- 文档编号:29266038
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:262
- 大小:788.40KB
Java面向对象程序设计实验指导模板代码资料.docx
《Java面向对象程序设计实验指导模板代码资料.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计实验指导模板代码资料.docx(262页珍藏版)》请在冰豆网上搜索。
Java面向对象程序设计实验指导模板代码资料
Java面向对象程序设计实验指导代码
内容简介
本书是《Java面向对象程序设计》的配套实验指导和习题解答。
本书的第一部分为16次上机实践的内容,每次上机实践由若干个实验组成。
每个实验由相关知识点、实验目的、实验要求、实验模版、实验知道和实验报告组成。
在进行实验之前,首先通过实验目的了解实验要完成的关键主题、通过实验要求知道本实验应达到怎样的标准,然后,完成实验模板,填写实验报告。
本书的第二部分为主教材的习题参考解答。
上机实践1Java入门
实验1一个简单的应用程序
5.程序模板
Hello.java
publicclassHello{
publicstaticvoidmain(Stringargs[]){
【代码1】//命令行窗口输出"你好,很高兴学习Java"
Aa=newA();
a.fA();
}
}
classA{
voidfA(){
【代码2】//命令行窗口输出"Wearestudents"
}
}
实验2教室、老师和学生
程序模板
请按模板要求,将【代码】替换为Java程序代码。
ClassRoom.java
publicclassClassRoom{
publicstaticvoidmain(Stringargs[]){
【代码1】//命令行窗口输出"教学活动从教室开始"
Teacherzhang=newTeacher();
Studentjiang=newStudent();
zhang.introduceSelf();
jiang.introduceSelf();
}
}
Teacher.java
publicclassTeacher{
voidintroduceSelf(){
【代码2】//命令行窗口输出"我是张老师"
}
}
Student.java
publicclassStudent{
voidintroduceSelf(){
【代码3】//命令行窗口输出"我是学生,名字是:
奖励"
}
}
上机实践2基本数据类型
实验1输出特殊边傍的汉字
程序模板
请按模板要求,将【代码】替换为Java程序代码。
InputChinese.java
publicclassE{
publicstaticvoidmain(Stringargs[]){
charch='研',zifu=0;
intp=22920,count=5,position=0;
System.out.printf("输出%d个石字傍的汉字:
\n",count);
for(charc=ch;c<=ch+count;c++){
【代码1】//c进行int型转换据运算,并将结果赋值给position
System.out.printf("%c(%d)",c,position);
}
System.out.printf("\n输出%d个女字傍的汉字:
\n",count);
for(intn=p;n<=p+count;n++){
【代码2】//n做char型转换运算,并将结果赋值给zifu
System.out.printf("%c(%d)",zifu,n);
}
}
}
实验2输入、输出学生的基本信息
程序模板
请按模板要求,将【代码】替换为Java程序代码。
InputMess.java
importjava.util.Scanner;
publicclassInputMess{
publicstaticvoidmain(Stringargs[]){
Scannerreader=newScanner(System.in);
System.out.println("输入姓名(回车确认):
");
Stringname=【代码1】//从键盘为name赋值
System.out.println("输入年龄(回车确认):
");
byteage=【代码2】//从键盘为age赋值
System.out.println("输入身高(回车确认):
");
floatheight=【代码3】//从键盘为height赋值
System.out.printf("%28s\n","--基本信息--");
System.out.printf("%10s%-10s","姓名:
",name);
System.out.printf("%4s%-4d","年龄:
",age);
System.out.printf("%4s%-4.2f","身高:
",height);
}
}
实验3超大整数的加法
程序模板
仔细阅读模板代码,完成实验后的练习。
HandleLargeNumber.java
publicclassHandleLargeNumber{
publicstaticvoidmain(Stringargs[]){
inta[]={0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9};
intb[]={0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9};
intc[]=newint[a.length];
inti=0,result=0,k=0;
for(i=0;i if(a[i]! =0){ k=i; break; } } for(i=k;i System.out.printf("%d",a[i]); } System.out.printf("\n加上: \n"); for(i=0;i if(b[i]! =0){ k=i; break; } } for(i=k;i System.out.printf("%d",b[i]); } for(i=a.length-1;i>=0;i--){ result=a[i]+b[i]; if(result>=10){ c[i]=result%10; a[i-1]=a[i-1]+1; } else c[i]=result; } System.out.printf("\n等于: \n"); for(i=0;i if(c[i]! =0){ k=i; break; } } for(i=k;i System.out.printf("%d",c[i]); } } } 上机实践3运算符、表达式与语句 实验1托运行李 程序模板 请按模板要求,将【代码】替换为程序代码。 BaggageAndMony.java importjava.util.Scanner; publicclassBaggageAndMony{ publicstaticvoidmain(Stringargs[]){ inttrainCharge=12;//火车托运计费: 每公斤12元 intcarCharge=22;//汽车托运计费: 每公斤12元 doubleplaneCharge=0.062;//飞机托运计费: 每克0.062元 Scannerreader=newScanner(System.in); doubleweight,charge; System.out.printf("输入行李重量: "); weight=reader.nextDouble(); System.out.printf("行李重量: %f公斤(kg)\n",weight); System.out.printf("需要计费的重量: %d(kg)\n",(int)weight); 【代码1】//将表达式(int)weight*trainCharge的值赋值给charge System.out.printf("用火车托运(%d元/kg),费用: %f元\n",trainCharge,charge); System.out.printf("需要计费的重量: %d(kg)\n",(int)(weight+0.5)); 【代码2】】//将表达式(int)(weight+0.5)*carCharge的值赋值给charge System.out.printf("用汽车托运(%d元/kg),费用: %f元\n",carCharge,charge); System.out.printf("行李重量: %f克(g)\n",weight*1000); System.out.printf("需要计费的重量: %d(g)\n",(int)(weight*1000+0.5)); 【代码3】//将表达式(int)(weight*1000+0.5)*planeCharge的值赋值给charge System.out.printf("用飞机托运(%f元/g),费用: %f元\n",planeCharge,charge); } } 实验2自动售货机 程序模板 请编译、运行模板给出的代码,然后完成试验后的练习。 MachineSell.java importjava.util.Scanner; publicclassMachineSell{ publicstaticvoidmain(Stringargs[]){ intmoney; intdrinkKind; System.out.printf("投入金额: 2或3元(回车确认): "); Scannerreader=newScanner(System.in); money=reader.nextInt(); if(money==2){ System.out.printf("选择净净矿泉水 (1),甜甜矿泉水 (2)和美美矿泉水(3)之一: \n"); System.out.printf("输入1,2或3: "); drinkKind=reader.nextInt(); switch(drinkKind){ case1: System.out.printf("得到净净矿泉水\n"); break; case2: System.out.printf("得到甜甜矿泉水\n"); break; case3: System.out.printf("得到美美矿泉水\n"); break; default: System.out.printf("选择错误"); } } elseif(money==3){ System.out.printf("选择爽口可乐 (1),清凉雪碧 (2),和雪山果汁(3)之一: \n"); System.out.printf("输入1,2或3: "); drinkKind=reader.nextInt(); switch(drinkKind){ case1: System.out.printf("得到爽口可乐\n"); break; case2: System.out.printf("得到清凉雪碧\n"); break; case3: System.out.printf("得到雪山果汁\n"); break; default: System.out.printf("选择错误"); } } else{ System.out.printf("输入的钱币不符合要求"); } } } 实验3猜数字游戏 程序模板 请按模板要求,将【代码】替换为Java程序代码。 GuessNumber.java importjava.util.Scanner; importjava.util.Random; publicclassGuessNumber{ publicstaticvoidmain(Stringargs[]){ Scannerreader=newScanner(System.in); Randomrandom=newRandom(); System.out.println("给你一个1至100之间的整数,请猜测这个数"); intrealNumber=random.nextInt(100)+1;//random.nextInt(100)是[0,100)中的随机整数 intyourGuess=0; System.out.print("输入您的猜测: "); yourGuess=reader.nextInt(); while(【代码1】)//循环条件 { if(【代码2】)//猜大了的条件代码 { System.out.print("猜大了,再输入你的猜测: "); yourGuess=reader.nextInt(); } elseif(【代码3】)//猜小了的条件代码 { System.out.print("猜小了,再输入你的猜测: "); yourGuess=reader.nextInt(); } } System.out.println("猜对了! "); } } 上机实践4类与对象 实验1Tank类 程序模板 请按模板要求,将【代码】替换为Java程序代码。 Tank.java publicclassTank{ 【代码1】//声明double型变量speed,刻画速度 【代码2】//声明int型变量bulletAmount,刻画炮弹数量 voidspeedUp(ints){ 【代码3】//将s+speed赋值给speed } voidspeedDown(intd){ if(speed-d>=0) 【代码4】//将speed-d赋值给speed else speed=0; } voidsetBulletAmount(intm){ bulletAmount=m; } intgetBulletAmount(){ returnbulletAmount; } doublegetSpeed(){ returnspeed; } voidfire(){ if(bulletAmount>=1){ 【代码5】//将bulletAmount-1赋值给bulletAmount System.out.println("打出一发炮弹"); } else{ System.out.println("没有炮弹了,无法开火"); } } } Fight.java publicclassFight{ publicstaticvoidmain(Stringargs[]){ Tanktank1,tank2; tank1=newTank(); tank2=newTank(); tank1.setBulletAmount(10); tank2.setBulletAmount(10); System.out.println("tank1的炮弹数量: "+tank1.getBulletAmount()); System.out.println("tank2的炮弹数量: "+tank2.getBulletAmount()); tank1.speedUp(80); tank2.speedUp(90); System.out.println("tank1目前的速度: "+tank1.getSpeed()); System.out.println("tank2目前的速度: "+tank2.getSpeed()); tank1.speedDown(15); tank2.speedDown(30); System.out.println("tank1目前的速度: "+tank1.getSpeed()); System.out.println("tank2目前的速度: "+tank2.getSpeed()); System.out.println("tank1开火: "); tank1.fire(); System.out.println("tank2开火: "); tank2.fire(); tank2.fire(); System.out.println("tank1的炮弹数量: "+tank1.getBulletAmount()); System.out.println("tank2的炮弹数量: "+tank2.getBulletAmount()); } } 实验2计算机与光盘 程序模板 请按模板要求,将【代码】替换为Java程序代码。 CD.java publicclassCD{ intsize; intcontent[]; publicvoidsetSize(intsize){ this.size=size; content=newint[size]; } publicintgetSize(){ returnsize; } publicint[]getContent(){ returncontent; } publicvoidsetContent(int[]b){ intmin=Math.min(content.length,b.length); for(inti=0;i content[i]=b[i]; } } Computer.java publicclassComputer{ intdata[]; CDincludeCD; publicvoidputCD(CDcd){ includeCD=cd; intsize=includeCD.getSize(); data=newint[size]; } voidcopyToComputer(){ int[]b=includeCD.getContent(); intmin=Math.min(data.length,b.length); for(inti=0;i data[i]=b[i]; } } publicvoidaddData(intm){ for(inti=0;i data[i]=data[i]+m; } } voidcopyToCD(){ includeCD.setContent(data); } voidshowData(){ for(inti=0;i System.out.printf("%3d",data[i]); } } } User.java publicclassUser{ publicstaticvoidmain(Stringargs[]){ CDdataCD=newCD(); intb[]={1,2,3,4,5,6,7,8}; dataCD.setSize(b.length); dataCD.setContent(b); inta[]=dataCD.getContent(); System.out.println("dataCD上的内容: "); for(inti=0;i System.out.printf("%3d",a[i]); ComputercomputerIMB=newComputer(); 【代码1】//computerIMB调用putCD(CDcd)方法,将dataCD的引用传递给cd System.out.println("\n将dataCD的数据复制到计算机: computerIMB."); 【代码2】//computerIMB调用copyToComputer()方法 System.out.println("computerIMB上的内容: "); computerIMB.showData(); intm=12; System.out.println("\ncomputerIMB将每个数据增加"+m); computerIMB.addData(m); System.out.println("computerIMB将增值后的数据复制到CD: dataCD"); 【代码3】//computerIMB调用copyToCD()方法 System.out.println("dataCD上的内容: "); a=dataCD.getContent(); for(inti=0;i System.out.printf("%3d",a[i]); } } 实验3家族的姓氏 程序模板 请按模板要求,将【代码】替换为Java程序代码。 FamilyPerson.java publicclassFamilyPerson{ staticStringsurname; Stringname; publicstaticvoidsetSurname(Strings){ surname=s; } publicvoidsetName(Strings){ name=s; } } MainClass.java publicclassMainClass{ publicstaticvoidmain(Stringargs[]){ 【代码1】//用类名FamilyPerson访问surname,并为surname赋值: "李" FamilyPersonfather,sonOne,sonTwo; father=newFamilyPerson(); sonOne=newFamilyPerson(); sonTwo=newFamilyPerson(); 【代码2】//father调用setName(Strings),并向s传递"向阳" sonOne.setName("抗日"); sonTwo.setName("抗战"); System.out.println("父亲: "+father.surname+father.name); System.out.pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序设计 实验 指导 模板 代码 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)