JAVA实验报告.docx
- 文档编号:9401699
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:27
- 大小:26.66KB
JAVA实验报告.docx
《JAVA实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告.docx(27页珍藏版)》请在冰豆网上搜索。
JAVA实验报告
学生实验报告册
(理工类)
课程名称:
面向对象程序设计专业班级:
16计算机科学与技术(专转本)
学生学号:
22学生姓名:
张义丹
所属院部:
计算机工程指导教师:
刘晶
2016——2017学年第2学期
金陵科技学院教务处制
实验报告书写要求
实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。
实验报告书写说明
实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。
教师可根据学科特点和实验具体要求增加项目。
填写注意事项
(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明
实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验项目名称:
Java编程基础实验学时:
6
同组学生姓名:
————实验地点:
工科楼A101
实验日期:
实验成绩:
批改教师:
刘晶批改时间:
实验1Java编程基础
一、实验目的和要求
(1)熟练掌握及编写调试Java应用程序及Java小程序的方法;
(2)熟练掌握Java应用程序的结构;
(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;
(4)熟练掌握常见数据类型的使用;
(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;
(6)熟练掌握数组和字符串的使用;
(7)调试程序要记录调试过程中出现的问题及解决办法;
(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(9)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows操作系统,装有和软件。
三、实验过程
(1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Helloworld”字符串,并输出,记录操作过程。
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
"Hello!
");
}
}
(2)分别使用JDK命令行和Eclipse编译JavaApplet,并建立HTML文档运行该Applet。
压缩生成".jar"文件。
记录操作过程。
import.*;
importclassHelloAppletextendsApplet
{
publicvoidpaint(Graphicsg)
{
;
("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=(s2);
booleanresult122=s1==s2;
booleanresult131=(s3);
booleanresult132=s1==s3;
booleanresult141=(s4);
booleanresult142=s1==s4;
booleanresult151=(s5);
booleanresult152=s1==s5;
"s1equalss2="+result121);
"s1==s2="+result122);
"s1equalss3="+result131);
"s1==s3="+result132);
"s1equalss4="+result141);
"s1==s4="+result142);
"s1equalss5="+result151);
"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(){
"HelloWorld!
");
}
publicstaticvoidmain(Stringargs[]){
newHello();
}
}
(2)Eclipse编译JavaApplet
import.*;
importclassHelloAppletextendsApplet{
intheight,width;
publicvoidinit(){
=100;
=300;
}
publicvoidpaint(Graphicsg){
;
("Hello!
",20,20);
}
}
(3)
packageb;
importclassTest{
publicstaticvoidmain(Stringargs[]){
intscore;
ength;j++){
if(j<=i)
num[i][j]=j+1;
else{
k--;
num[i][j]=k;
}
"");
}
}
}
}
(6)
publicclasstest{
publicstaticvoidmain(String[]args){
ength;j++)
"");
}
booleanfind=false;ength;j++);
publicclassSortString{
publicstaticvoidmain(String[]args){
;
classEx1
{
publicstaticvoidmain(Stringargs[])
{
try{
BufferedReaderstrin=newBufferedReader(
newInputStreamReader);arseInt(cl);
System.out.print("请输入被除数:
");
cl=strin.readLine();
intb=Integer.parseInt(cl);
intc=b/a;
System.out.println("商为:
"+c);
}
;
publicclassEx1{
publicstaticvoidmain(Stringargs[])
{
try{
BufferedReaderstrin=newBufferedReader(
newInputStreamReader);arseInt(cl);
System.out.print("请输入被除数:
");
cl=strin.readLine();
intb=Integer.parseInt(cl);
intc=b/a;
System.out.println("商为:
"+c);
}
;
publicclassDiv{
publicstaticvoidmain(Stringargs[])throwsMyException{
try{
BufferedReaderin=newBufferedReader(newInputStreamReader);
"请输入实数除法运算的被除数:
");
Stringstr=();
doublea=(str);
"请输入除数:
");
str=();
doubleb=(str);
"商结果:
"+division(a,b));
}
catch(ArithmeticExceptione1){
"商结果:
Infinity"+e1);
"商结果:
NaN"+e1);
}
catch(NumberFormatExceptione2){
"异常:
字符串不能转换成整数!
"+e2);
}
catch(IOExceptione3){
"异常:
IO异常"+e3);
}
finally{
"程序结束!
");
}
}
staticdoubledivision(doublea,doubleb)throwsMyException{
if(a==100&&(b==4||b==13))
thrownewMyException("不符规范");
elsereturn(a/b);
}
}
四、实验结果与分析(程序运行结果及其分析)
(1)
去掉Man类的public修饰,程序运行不出来,提示缺少Man的公开方法。
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
五、实验体会(遇到问题及解决办法,编程后的心得体会)
学习程序设计的基本目的就是培养描述实际问题的程序化解决方案的关键技能Java面向对象程序设计是一门实践性比较强的课程在实际中我们必须把理论和实践结合起来。
在实验中我们对照课本的知识然后进行实际的操作而后发现实际的运用比课本提到的要多很多理论总是来源于实践我们必须在现有的理论的基础上进行有效地实践。
而这次实验也让我看到了现在学习的一个很大弱点就是实践的实践往往很少。
在现实社会中我们必须懂得实际的操作才能更好的服务于社会。
所以我必须在以后的学习中多动手多实际操作争取能在实践中找到属于自己新的感悟,终于在学习Java时达到了事半功倍的效果。
实验项目名称:
图形用户界面实验学时:
6
同组学生姓名:
————实验地点:
工科楼A101
实验日期:
实验成绩:
批改教师:
刘晶批改时间:
实验3图形用户界面
一、实验目的和要求
(1)掌握Swing组件的使用方法;
(2)熟练掌握Swing中常用布局管理器的使用方法;
(3)掌握用户界面动作与事件的处理程序的编写方法;
(4)熟练掌握构造用户界面的方法和常见界面元素的使用;
(5)熟练掌握Java绘图的主要方法。
(6)调试程序要记录调试过程中出现的问题及解决办法;
(7)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(8)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows操作系统,装有和软件。
三、实验过程
1.计算器设计
2.整数进制转换
将一个十进制整数分别转换成二进制、八进制和十六进制整数。
3.模拟裁判评分。
设计如图所示图形界面,显示n个裁判的评分,根据制定规则计算出最后得分。
要求:
图形界面采用表格显示裁判评分,随裁判人数变化而变化;指定分数范围,若超出,则异常处理;得分规则有指定接口约定,由多个接口对象给出多种得分规则,如求平均数值,或去掉一个最高分和一个最低分后,再求平均值。
4.编译运行下例,然后修改程序,当使用鼠标单击后在另一位置重新绘制月亮。
【例】在Applet中画月亮。
import.*;
importclassMoonAppletextendsApplet
{
publicvoidpaint(Graphicsg)据阿基米德螺线的极坐标方程:
r=aθ画出相应图形。
要求:
(1)注意选用适当的布局管理器设计图形用户界面,比较它们的布局情况;
(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如表示实验三的第一题;
(3)学会使用Eclipse的各种调试方法;
(4)学会查阅JavaAPI文档,如查找事件类的处理里方法。
程序清单:
(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。
)
importimportimport.*;
publicclassCalulatorimplementsActionListener{
JTextFieldt1;
JPanelp1;
JFramef;
staticintcount=1;
staticfloatvalue=0;
intp2=0;Stringp;
publicCalulator()
{f=newJFrame("Calulator");
(400,200);
p1=newJPanel();
t1=newJTextField(30);
;
(newGridLayout(5,4));
(t1);
Stringstr[]=
{"开根","+","-","清零","7","8","9","/","4","5","6","*","1","2","3","负","0",".","正","="};
for(inti=0;i<20;i++)
{JButtonb=newJButton(str[i]);
(b);
(this);}
(t1,;
(p1,;
;
(true);}
publicvoidactionPerformed(ActionEvente){
Stringc=();
if(c=="0"||c=="1"||c=="2"||c=="3"||c=="4"||c=="5"||c=="6"||c=="7"||c=="8"||c=="9"||c==".")
{if(p2==0){(c);p2++;}
else{()+c);p2++;}}
elseif(p=="清零"){value=0;(value));}
else{count++;p2=0;
if(count==2){p=c;value=());}
if(c=="="){
if(p=="开根"){value=(float)()));
(value));count-=2;}
elseif(p=="+"){value+=());count-=2;}
elseif(p=="-"){value-=());count-=2;}
elseif(p=="*"){value*=());count-=2;}
elseif(p=="/"){value/=());count-=2;}
elseif(p==”正”)
{value=()));
(value));
count-=2;}
elseif(p=="负"){value=-1*());
(value));count-=2;}
(value));value=0;}}
}
publicstaticvoidmain(String[]args){
newCalulator();
}}
.*;
import.*;
publicclassZhuanHextendsJFrameimplementsActionListener{
TextFieldt1,t2,t3,t4;
publicZhuanH()
{super("十进制整数转换");
;
t1=newTextField(5);
t2=newTextField(5);
t3=newTextField(5);
t4=newTextField(5);
(null);
(400,200);
(newGridLayout(4,2));
(newLabel("十进制"));(t1);(this);
(newLabel("二进制"));(t2);
(newLabel("八进制"));(t3);
(newLabel("十六进制"));(t4);
(EXIT_ON_CLOSE);
(true);
}
publicvoidactionPerformed(ActionEvente){
Stringc=();
(c)));
(c)));
(c)));
}
publicstaticvoidmain(String[]args){
newZhuanH();
}}
3.import.*;
import.*;
publicclassPingFenextendsJFrameimplementsActionListener{
JPanelp,p1;
JTextFieldt;
JTextFieldt1[]=newJTextField[10];
JButtonb;
floats=0,k;
intt2,t3;
publicPingFen()
{
super("模拟裁判评分");
(300,120);
p1=newJPanel(newGridLayout(2,5));
(p1,"North");
p=newJPanel(newFlowLayout);
(p,"South");
b=newJButton("平均分");
t=newJTextField(10);
(b);(t);
for(inti=0;i<10;i++)
{
t1[i]=newJTextField(6);
t1[i].setText(null);
(t1[i]);
}
(this);
(EXIT_ON_CLOSE);
(true);}
publicvoidactionPerformed(ActionEvente)
{floatmax,min;
for(inti=0;i<10;i++)
{
try{
if(t1[i].getText())>thrownewException();
elsecontinue;}
catch(Exceptionev)
{(this,t1[i].getText()+"超出范围"+","+"请重新输入");
t1[i].setText(null);}
}
max=(t1[0].getText()));
min=(t1[0].getText()));
for(inti=1;i<10;i++)
{
if((k=(t1[i].getText())))>max){max=k;t2=i;}
elseif
((k=(t1[i].getText()))) } for(inti=0;i<10;i++) { if(t2! =i&&i! =t3)s+=(t1[i].getText()));} (s/+"");} publicstaticvoidmain(String[]args){ newPingFen();}} 4.import.*; importclassMoonAppletextendsAppletimplementsMouseListener { intx,y; publicvoidinit(){ x=()/4; y=()/4; addMouseListener(this); } publicvoidpaint(Graphicsg)packagepackage2; import.*; import.*; publicclassLuoXuanextendsJFrameimplementsActionListener{ privatestaticfinallongserialVersionUID=1L; privateLuoXuanCanvascanvas;etScreenSize(); 4,4,2,2); JPanelp=newJPanel(); (p,"North"); JButtonb=newJButton("选择颜色"); (b); (this); =newLuoXuanCanvas(); ().add,"Center"); (EXIT_ON_CLOSE); (true);} publicvoidactionPerformed(ActionEvente) {Colorc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验 报告