Java实验指导书.docx

上传人:b****3 文档编号:4222626 上传时间:2023-05-06 格式:DOCX 页数:47 大小:86.37KB
下载 相关 举报
Java实验指导书.docx_第1页
第1页 / 共47页
Java实验指导书.docx_第2页
第2页 / 共47页
Java实验指导书.docx_第3页
第3页 / 共47页
Java实验指导书.docx_第4页
第4页 / 共47页
Java实验指导书.docx_第5页
第5页 / 共47页
Java实验指导书.docx_第6页
第6页 / 共47页
Java实验指导书.docx_第7页
第7页 / 共47页
Java实验指导书.docx_第8页
第8页 / 共47页
Java实验指导书.docx_第9页
第9页 / 共47页
Java实验指导书.docx_第10页
第10页 / 共47页
Java实验指导书.docx_第11页
第11页 / 共47页
Java实验指导书.docx_第12页
第12页 / 共47页
Java实验指导书.docx_第13页
第13页 / 共47页
Java实验指导书.docx_第14页
第14页 / 共47页
Java实验指导书.docx_第15页
第15页 / 共47页
Java实验指导书.docx_第16页
第16页 / 共47页
Java实验指导书.docx_第17页
第17页 / 共47页
Java实验指导书.docx_第18页
第18页 / 共47页
Java实验指导书.docx_第19页
第19页 / 共47页
Java实验指导书.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java实验指导书.docx

《Java实验指导书.docx》由会员分享,可在线阅读,更多相关《Java实验指导书.docx(47页珍藏版)》请在冰点文库上搜索。

Java实验指导书.docx

Java实验指导书

虞山学院

《Java程序设计》实验指导及报告书

/学年第学期

姓名:

______________

学号:

______________

班级:

______________

指导教师:

______________

计算机科学与工程学院

2009

实验

实验一创建简单的JAVA应用程序2

实验二选择和循环2

实验三数组和字符串处理2

实验四类和对象编程

(一)2

实验五类和对象编程

(二)2

实验六继承与多态编程2

实验七接口和集合2

实验八文件和输入输出2

实验一创建简单的JAVA应用程序

一、实验目的

1.了解JAVA基本程序结构;

2.熟悉命令行方式下JAVA应用程序编写、编译、调试和执行过程;

3.了解Eclipse集成开发环境的功能和特点。

二、实验内容

1.安装并配置JDK开发工具包

2.调试并运行下列Hello,world程序,并写出运行结果:

(各文件统一按照注释行上的文件名进行命名)

版本一、

//HelloJava1.java

publicclassHelloJava1

{

publicstaticvoidmain(String[]args)

{

System.out.println(“Hello!

\nWorld.”);

}

}

存盘后(假设存在d:

\)

(1)编译

d:

\>javacHelloJava1.java

(2)由虚拟机解释执行

d:

\>javaHelloJava1

运行结果(注意,按照屏幕输出格式写):

 

(3)程序不以HelloJava1.java命名,编译能通过吗?

为什么?

 

版本二、

//HelloJava2.java

importjavax.swing.*;//导入JFrame和JLabel类所在的包

publicclassHelloJava2

{

publicstaticvoidmain(String[]args)

{

//新建一个JFrame对象以便在屏幕上显示一个窗口。

JFrameframe=newJFrame(“HelloJava!

”);

frame.setSize(300,300);//设置窗口的高度和宽度。

frame.setVisible(true);//设置窗口可见。

}

}

运行结果(注:

按Ctrl+C退出程序):

 

版本三、

在版本二的基础上增加两条语句,编译、运行查看效果。

//HelloJava3.java

importjavax.swing.*;//导入JFrame和JLabel类所在的包

publicclassHelloJava3

{

publicstaticvoidmain(String[]args)

{

JFrameframe=newJFrame(“HelloJava!

”);

// 增加一个标签,来保存一个文本,从而可在窗口中央显示文本。

JLabellabe1=newJLabel(“HelloJava!

”,JLabel.CENTER);

//把标签label加入到窗口frame中。

frame.getcontentPane().add(label);

frame.setSize(300,300);

frame.setVisible(true);

}

}

运行结果(注:

按Ctrl+C退出程序):

 

将程序中JLabel.CENTER改为JLabel.LEFT或JLabel.RIGHT运行效果有何变化?

 

版本四、

编写并运行基于浏览器的Applet小应用程序

Step1:

编写如下代码,并以HelloApplet.java存盘。

importjava.applet.*;

importjava.awt.*;

publicclassHelloAppletextendsApplet

{

publicvoidpaint(Graphicsg)

{

g.drawString(“HelloWorld.”,50,50);

}

}

Step2:

编译生成HelloApplet.class字节码文件。

Step3:

编写如下代码,并以HelloExam.html(网页)存盘。

MyFirstJavaApplet


Step4:

用IE打开该网页,查看运行效果。

Step5:

D:

\>appletviewerHelloExam.html来启动Applet小应用查看运行效果。

(注HelloApplet.class文件和HelloExam.html在同一目录下。

3.调试并运行下面程序,并写出运行结果:

//StarTriangle.java

publicclassStarTriangle

{publicstaticvoidmain(String[]args)

{

inti,j;

for(i=0;i<=3;i++)

{

for(j=0;j<=2-i;j++)

System.out.print("");//一个空格

for(intk=0;k<=2*i;k++)

System.out.print("*");

System.out.println();//输出换行

}

}

}

运行结果(注意,按照屏幕输出格式写):

 

4.下面是一个模拟计算器的程序(两个操作数都为正整数)。

计算器应该能够执行以下算术操作:

加法、减法、乘法、除法中的一种。

调试并运行下面程序,根据输入写出运行结果。

注意:

程序输入时要区分大小写。

//TestCalc.java

importjava.util.*;//Scanner类在此包中,故需导入

classCalcNumber

{

privateintnumber1,number2;

privateintoption;

privateintresult;

publicvoidcompute()

{

Scannerscanner=newScanner(System.in);

System.out.println(“EntertheFirstNumber:

”);

number1=scanner.nextInt();

System.out.println(“EntertheSecondNumber:

”);

number2=scanner.nextInt();

System.out.println(“MainMenu”);

System.out.println(“1.Addition”);

System.out.println(“2.Subtraction”);

System.out.println(“3.Multiplication”);

System.out.println(“4.Division”);

System.out.println(“EntertheOperationyouwanttoperform:

”);

option=scanner.nextInt();

switch(option)

{

case1:

result=number1+number2;

break;

case2:

result=number1-number2;

break;

case3:

result=number1*number2;

break;

case4:

result=number1/number2;

break;

default:

System.out.println(“InvalidOption”);

return;

}

System.out.println(“Theresultis:

”+result);

}

}

publicclassTestCalc

{

publicstaticvoidmain(String[]args)

{

CalcNumbermyCalc=newCalcNumber();

myCpute();

}

}

从键盘输入8和2两个整数时,

(1)选择3时的运行结果:

(2)选择5时的运行结果:

 

从键盘输入8和two时(第二个数为非整数),程序运行结果:

 

5.在保持功能不变的情况下,改写上例代码如下(注意修改的代码):

importjava.util.*;

classCalcNumber

{privateintnumber1,number2;

privateintoption;

privateScannerscanner=newScanner(System.in);

publicvoidgetNumber()

{

System.out.println(“EntertheFirstNumber:

”);

number1=scanner.nextInt();

System.out.println(“EntertheSecondNumber:

”);

number2=scanner.nextInt();

}

publicvoidgetOption()

{

System.out.println(“MainMenu”);

System.out.println(“1.Addition”);

System.out.println(“2.Subtraction”);

System.out.println(“3.Multiplication”);

System.out.println(“4.Division”);

System.out.println(“EntertheOperationyouwanttoperform:

”);

option=scanner.nextInt();

}

publicintcompute()

{

intresult;

switch(option)

{

case1:

result=number1+number2;

break;

case2:

result=number1-number2;

break;

case3:

result=number1*number2;

break;

case4:

result=number1/number2;

break;

default:

thrownewIllegalArgumentException(“InvalidOption”);

}

returnresult;

}

}

publicclassTestCalc

{

publicstaticvoidmain(String[]args)

{

try

{

CalcNumbermyCalc=newCalcNumber();

myCalc.getNumber();

myCalc.getOption();

intresult=myCpute();

System.out.println(“Theresultis:

”+result);

}

catch(Exceptione)

{

System.out.println(e.toString());

}

}

}

比较与上例运行结果,是否完全相同:

从键盘输入8和2两个整数时,

选择3时的运行结果:

选择5时的运行结果:

从键盘输入8和two时(第二个数为非整数),程序运行结果:

在main()函数中如不加try和catch部分代码,运行结果又会怎样?

 

体会程序5的结构与程序4相比哪一个好,谈谈你的理解?

 

三、教师评分

实验预习

20%

实验过程

20%

实验结果

30%

实验报告

30%

总成绩

实验二选择和循环

一、实验目的

1.掌握Java基本数据类型和表达式的特点和用法。

2.熟练掌握单分支、双分支、多分支选择语句的格式与功能,能正确选取选择语句来设计选择结构的程序。

3.熟练掌握while、do-while、for、break语句、continue语句的格式和功能;并能根据循环结构的要求正确选取循环语句来实现循环和多重循环。

二、预习内容

1.Java基本数据类型有哪几种?

2.从存储角度看Java将变量的类型分为基本数据类型和引用类型,它们两者有何区别(举例说明)?

3.学习查阅JDK文档,找到Random类和Math类,说明它们分别在什么包当中,并了解它们的用法。

 

三、实验内容

1.调试并运行下面程序,写出运行结果:

//ThrowRoll.java

importjava.util.*;

publicclassThrowRoll

{publicstaticvoidmain(String[]args)

{introll;

Randomrd=newRandom();//创建一个生成随机数的对象rd

System.out.println("开始掷筛子");

for(intcount=0;count<5;count++)

{//rd.nextInt(n)生成[0,n-1]之间的随机整数

roll=1+rd.nextInt(6);//生成1-6的随机整数

System.out.print("第"+count+"次:

"+roll+"");

switch(roll)

{case1:

case3:

case5:

System.out.print("筛子是奇数\t");break;

case2:

case4:

case6:

System.out.print("筛子是偶数\t");break;

}

System.out.println(“它的平方根是:

”+Math.sqrt(roll));

}

}

}

程序运行结果:

 

2.某服装店经营套服,也单件出售,若买的不少于50套,每套80元,不足50套,每套90元,若只买上衣每件60元,只买裤子每条45元,从键盘读入所买上衣coat和裤子trousers件数,计算应付款money?

提示:

(1)先计算成套的衣服多少钱?

(2)再计算剩下的单件的上衣、单件的裤子多少钱;

(3)计算总付款

将程序补充完整:

//CalcPay.java

importjava.util.*;

publicclassCalcPay

{publicstaticvoidmain(String[]args)

{intcoat,trousers,money;

Scannerscanner=newScanner(System.in);

System.out.println(“Entercoatnumber:

”);

coat=scanner.nextInt();

System.out.println(“Entertrousersnumber:

”);

trousers=scanner.nextInt();

money=getPay(coat,trousers);

System.out.println(“totalmoney=”+money);

}

publicstaticintgetPay(intc,intt)

{

 

}

}

要求用以下三套测试数据测试程序:

a)coat:

55,trousers:

70

b)coat:

55,trousers:

40

c)coat:

-5,trousers:

3,此时应显示错误信息

运行结果分别是:

 

3.编程输入年份月份,打印该月的天数

变量命名要求:

年份:

year;月份:

month;计算结果:

天数days

程序代码:

 

输入

年份:

2008;月份:

10,运行结果:

年份:

2008;月份:

2,运行结果:

年份:

2009;月份:

9,运行结果:

年份:

2009;月份:

2,运行结果:

年份:

2009;月份:

99,运行结果:

 

4.计算机来当一年级的算术老师,要求给出十道两位数的四则运算的算术题,每道题10分,学生输入该题的答案,计算机根据学生的答案判断正确与否,当结束时给出成绩。

(提示:

用Random类产生两个两位数的随机数)

程序代码:

 

四、实验小结

谈谈本次实验的心得、体会?

 

五、选做实验

编写一个程序打印九九乘法表

1×1=1

2×1=22×2=4

3×1=33×2=63×3=9

4×1=44×2=84×3=124×4=16

六、教师评分

实验预习

20%

实验过程

20%

实验结果

30%

实验报告

30%

总成绩

实验三数组和字符串处理

一、实验目的

1.要求掌握一维数组、多维数组(主要指二维)的创建、初始化、数组元素的引用等方法。

2.掌握冒泡排序算法。

3.掌握二分查找算法。

4.掌握字符串处理的相关方法。

二、预习内容

1.如何创建一个能存放十个整数的一维数组intArr?

2.如何创建一个如下图的不等长的存放整数的二维数组jagArr?

2

1

5

4

3

0

9

8

7

6

3.查阅JDK文档,至少写出String类的五个方法,并说明这些方法的作用?

 

三、实验内容

1.实现对从键盘输入一批非零整数,以-1作为输入结束标记,对这批整数进行排序。

要求:

1)用选择或冒泡升序排

2)从控制台获取数据、排序、输出数组功能分别做成三个方法。

3)安排方法的调用,注意方法调用时参数的传递。

程序代码:

 

2.数组A中的N(0

如A=(78,42,-34,94,25)则输出为(4,3,1,5,2)。

数组长度N和数组中元素要求从键盘输入。

程序代码:

 

3.已知一个已经从小到大排序的数组,这个数组中的一个平台就是指连续的一串值相同的元素,并且这一串元素不能再延伸,例如,在1,2,2,3,3,3,3,4,4,5,5,5,6中1,2,2,3,3,3,3,4,4,5,5,5,6划线部分都是一个平台,试编写程序,接收任意一个已排好序数组,把这个数组中最长的平台找出来。

在上面的例子中3,3,3,3就是该数组中最长的平台,平台长为4。

 

4.调试下列代码,写出运行结果。

publicclassExample

{publicstaticvoidchange(Stringstr,char[]ch)

{

str=“testok”;

ch[0]=‘g’;

}

publicstaticvoidmain(String[]args)

{

Stringstr=“good”;

char[]ch={‘a’,’b’,’c’};

change(str,ch);

System.out.print(str+“and“);

System.out.println(ch);

}

}

运行结果是testokandgbc吗?

为什么?

请分析原因:

 

5.调试下列代码,写出运行结果,分析程序的功能。

classDeleteStr

{publicstaticStringDel(Stringorigin,Stringsmod)

{if(origin!

=null&&smod!

=null)

{

intindex=origin.indexOf(smod);

while(index!

=-1)

{

Stringret=origin.substring(0,index);

ret=ret+origin.substring(index+smod.length());

origin=ret;

index=origin.indexOf(smod);

}

returnorigin;

}

else

returnnull;

}

}

publicclassProgram

{

publicstaticvoidmain(String[]args)

{Stringstr="hellxyzo,wxyzoxyzrldxyz.";

Stringsmod="xyz";

StringnewString;

newString=DeleteStr.Del(str,smod);

System.out.println(newString);

}

}

运行结果:

程序完成什么样功能?

 

六、教师评分

实验预习

20%

实验过程

20%

实验结果

30%

实验报告

30%

总成绩

实验四类和对象编程

(一)

一、实验目的

1.掌握Java中类的定义、对象的创建方法;

2.理解封装性及其意义;

3.掌握构造函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

4.能够根据给定的要求定义类并实现类的成员函数;

5.理解类的成员的访问控制的含义,公有、私有和保护成员的区别

二、实验内容

1.定义一个学生类,其中有学号、姓名、年龄3个数据成员,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

使用构造函数实现对数据的输入,使用成员函数实现对数据的输出。

调试下列的参考代码。

//Student.java

publicclassStudent

{privateStringid;

privateStringname;

privateintage;

publicStudent(Stringid,Stringname,intage)

{

this.id

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2