JAVA程序设计实验指导书全册Word文档格式.docx

上传人:b****5 文档编号:21499720 上传时间:2023-01-30 格式:DOCX 页数:51 大小:43.68KB
下载 相关 举报
JAVA程序设计实验指导书全册Word文档格式.docx_第1页
第1页 / 共51页
JAVA程序设计实验指导书全册Word文档格式.docx_第2页
第2页 / 共51页
JAVA程序设计实验指导书全册Word文档格式.docx_第3页
第3页 / 共51页
JAVA程序设计实验指导书全册Word文档格式.docx_第4页
第4页 / 共51页
JAVA程序设计实验指导书全册Word文档格式.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

JAVA程序设计实验指导书全册Word文档格式.docx

《JAVA程序设计实验指导书全册Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计实验指导书全册Word文档格式.docx(51页珍藏版)》请在冰豆网上搜索。

JAVA程序设计实验指导书全册Word文档格式.docx

javahelloWorldApp.java

javahelloworldapp

javaHelloWorldApp.class

5.输入下面的随机数生成程序,重复上述编译和执行过程,分步写出两个命令执行过程。

importjava.util.Random;

publicclassMathDemo{

publicstaticvoidmain(String[]args){

Randomrand=newRandom();

intv=rand.nextInt();

System.out.println("

你得到了一个"

+v);

1)保存文件名为:

2)编译命令为:

3)运行程序命令为:

4)如果删除该程序的第一行import语句,重新编译,有何问题?

评语:

日期:

年月日

实验02:

Eclipse开发环境

1.了解最基本的环境配置过程。

2.掌握Eclipse环境下的Java程序开发过程。

1.在Eclispe环境下创建一个项目MyExexercise,添加一个包demo,向包内添加一个类CommandParameter,配置运行参数,使得程序能够逐个输出命令行参数的要求。

1)自动生成的CommandParameter程序的第一行是什么?

2)在何处配置运行时的命令行参数?

2.在何处调整项目缺省的字符集。

3.在何处可以调整代码编辑框内的文字大小,写出操作指南。

4.如果console窗口关闭了,如何操作才能重新显示出来?

5.写出设置断点的步骤。

6.如何查看运行过程中各个变量的值。

实验03:

数值类型与变量声明

1.掌握标识符的定义规则

2.认识Java的数据类型以及掌握各种变量的声明方法。

3.掌握不同数值类型间的赋值问题

1.编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。

publicclassVariable{

inta=10;

a="

+a);

1.写出程序运行的结果

2.修改上述程序,定义一个字符型变量,并定义其初值为'

a'

,然后输出该变量的值,在下面写出修改后的代码片段。

3.修改上述程序,定义一个字符型变量,并定义其初值为100,然后输出该变量的值,在下面写出修改后的代码片段。

4.修改上述程序,定义一个字符型变量,并定义其初值为65536,然后输出该变量的值,在下面写出修改后的代码片段,如果有错误,说明原因。

5.修改上述程序,定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。

6.修改上述程序,定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。

7.替换下面的代码段到上述程序,分析现象。

floatf=10.0f;

doubled=100.0d;

f=d;

f="

+f);

8.替换下面的代码段到上述程序,分析结果。

charc='

;

a=c+a;

System.out.printf("

c=%c"

a);

9.声明一个布尔类型的变量,其初值为真。

10.替换下面的代码段到上述程序,分析现象。

Variablev=newVariable();

v="

实验04:

运算符和表达式

1.熟悉运算符的作用、优先级和结合方向

2.认识Java的表达式,理解表达式的构成、类型

1.运行下面的程序,写出运行结果

publicclassArithmaticOp{

publicstaticvoidmain(Stringargs[]){

inta=5+4,b=a*2,c=b/4;

intd=b-c;

inte=-d;

intf=e%4;

doubleg=18.4,h=g%4;

inti=3;

intj=i++;

intk=++i;

System.out.println("

b="

+b);

c="

+c);

d="

+d);

e="

+e);

g="

+g);

h="

+h);

i="

+i);

j="

+j+"

\nk="

+k);

2.写一个程序,计算32/5的结果,如果需要得到浮点数的结果该如何重写表达式。

分别写出这两个赋值表达式。

3.创建一个类名为GravityCalculator的类,在该类中写上以下代码,

publicstaticvoidmain(String[]arguments){

doublegravity=9.81;

//重力速度,单位m/s^2

doubleinitialVelocity=0.0;

doublefallingTime=10.0;

doubleinitialPosition=0.0;

doublefinalPosition=0.0;

Theobject'

spositionafter"

+fallingTime+"

secondsis"

+finalPosition+"

m."

);

运行此程序,输出运行结果。

4.修改上述例子程序,完成以下功能:

计算10秒钟后物体的位置。

输出位置以米为单位,计算的数学公式为:

x(t)=0.5×

gt2+vit+xi

变量作用值

g加速度(m/s2)9.81

t时间(s)10

vi初速度(m/s)0

xi初始位置0

5.有四个整数分别用a、b、c、d表示,请使用条件运算符找出其中最大值。

实验05:

输入/输出处理

掌握输入输出程序的处理。

1.编写程序,从键盘上输入一个整数作为圆的半径,分别计算并输出圆周长、圆面积。

2.编写程序,从键盘上输入三个实数,比较大小,分别输出最大值和最小值。

3.运行下面的程序,写出运行结果,解释每种格式的含义。

importjava.util.Calendar;

publicclassCommandParameter{

longn=;

System.out.printf("

%d%n"

n);

System.out.printf("

%08d%n"

System.out.printf("

%+8d%n"

%,8d%n"

%+,8d%n%n"

doublepi=Math.PI;

%f%n"

pi);

%.3f%n"

%10.3f%n"

%-10.3f%n"

Calendarc=Calendar.getInstance();

%tB%te,%tY%n"

c,c,c);

%tl:

%tM%tp%n"

%tD%n"

c);

实验06:

流程控制

(一)

1.能够正确使用if,switch语句,并且能正确使用合法的参数类型。

2.在不同情况下,能够正确选择使用循环语句,能正确使用break,continue,能计算在循环中或循环后循环计数器的值。

1.编写程序,声明一个double型变量,并任意赋值,然后判断该书是否在1到10000之间,根据结果输出下面其中一行结果(x需用实际的数值代替):

Thenumberxisbetween1and10000.

Thenumberxisnotbetween1and10000.

2.分析下面程序,写出运行结果

classTestApp{

publicstaticvoidmain(String[]args){

for(inti=0;

i<

10;

i++){

if(i==3)

break;

System.out.print(i);

3.分析switch的作用,写出下面程序运行的结果

classSwitchDemo{

publicstaticvoidmain(Stringargs[]){

intc=38;

switch(c<

10?

1:

c<

25?

2:

35?

3:

4){

case1:

"

+c+"

℃有点冷。

要多穿衣服。

"

case2:

℃正合适。

出去玩吧。

case3:

℃有点热。

default:

℃太热了!

开空调。

1)当c=38时,运行结果是什么?

2)当c=8时,运行结果是什么?

3)当c=48时,运行结果是什么?

4)在每个case的输出语句后,添加break语句后,充分执行上述几种情况,分析有何变化,分析写出每次运行结果。

当c=38时,运行结果是

当c=8时,运行结果是

当c=48时,运行结果是

4.通过键盘输入任一个整数,判断其是否是素数,并输出判断结果。

5.通过键盘输入任意两个整数,按照从小到大的顺序输出这两个数。

6.写出下面的代码段执行后,j的值是多少?

inti=1,j=0

switch(i){

j+=6;

case4:

j+=1;

j+=2;

case0:

j+=4;

7.写出下列程序片段中while循环体重复执行的次数

inta=1,

b=1;

while(a<

=1000){

a=2*a;

b=b+1;

System.out.println(b);

8.编写一个程序,输出1到200之间所有能被3整除的整数,要求输出时每行输出5个整数。

9.编写一个程序,输出一个99乘法表,输出格式如下。

1=1

2=22×

2=4

3=32×

3=63×

3=9

4=42×

4=83×

4=124×

4=16

5=52×

5=103×

5=154×

5=205×

5=25

6=62×

6=123×

6=184×

6=245×

6=306×

6=36

7=72×

7=143×

7=214×

7=285×

7=356×

7=427×

7=49

8=82×

8=163×

8=244×

8=325×

8=406×

8=487×

8=568×

8=64

9=92×

9=183×

9=274×

9=365×

9=456×

9=547×

9=638×

9=729×

9=81

10.下面输出素数的程序原意输出为下面的结果,但现在不是,请调试下面程序,使之能够按要求输出:

235711

1317192329

3137414347

5359616771

7379838997

publicclassPrime{

booleanisPrime=true;

//用来标识每次计算的数是否是素数,如果不是则为false;

for(intx=2;

x<

=100;

x++){

intm=x/2;

for(inti=2;

i<

=m;

i++){

if(x%i==0)

isPrime=false;

//

if(isPrime){

System.out.print(x+"

\t"

if(n==5){

System.out.println();

实验07:

流程控制

(二)

1.进一步巩固对分支、循环结构的掌握,并简单了解有关方法的使用

1.分析程序

System.out.println(multiply(2,3,4,5));

publicintmultiply(int…nums){//变长参数

intresult=1;

for(intx:

nums)

result*=x;

returnresult;

能否正常运行?

原因是什么?

2.编写程序,接受命令行传入的的一个参数,能够统计其中大写字母、小写字母、数字、空格及其他字符的个数,并且分别输出统计数据,如果碰到了”\n”则终止统计。

提示:

1)声明并出初始化一个字符串变量:

如Strings=”hello\nMike”;

2)s.charAt(0)表示取该字符串的第1个字符h;

s.charAt

(1)取第2个字符e,其他依次类推;

3)s.length()返回该字符串的字符个数,如”hello”的字符个数是5。

3.利用java.util.Random类,编写一个程序,每次执行时生成一个1~6之间(含1和6)的整数。

Random类的用法如下面代码段所示。

Ramdomrand=newRandom();

//第一步要创建一个随机数生成对象

intx=rand.nextInt(5)+1;

//第二步rand.nextInt(5)生成一个0到5之间的数字,然后简单加1,调整到1到6之间,以满足需要

4.利用java.util.Random类,编写一个程序,每次执行时生成一个1~6之间(含1和6)的整数。

//第二步rand.nextInt(5)生成一个0到5之间的数字,然后简单加1,调整到1到6之间,以满足需要。

写一个程序,使用上述随机数生成方法模拟掷筛子(Dice)。

一个人每次掷3个筛子,根据下面的规则来显示获胜的奖金情况。

●如果3个筛子都是6,赢20元;

●如果3个筛子都相同,赢10元;

●如果3个筛子中有任何两个都相同,赢5元。

5.分析程序

publicstaticdoublepower(doublex,intn){

if(n==0)

return1.0;

else

if(n%2==0)

returnpower(x*x,n/2);

returnpower(x*x,n/2)*x;

1)程序的功能是:

2)当x=4,n=2时,调用power方法返回值是什么?

写出每次的调用过程

6.分析下面的两段程序

publicstaticintP(intn){

returnQ(n>

=0?

n:

-n);

privatestaticintQ(intm){

finalintBASE=10;

return(m<

BASE?

1:

1+Q(m/BASE));

例如:

当n=5时,调用方法p返回值是多少?

写出执行过程。

Step1:

n=5,p(5)=Q(5);

Q(5)=1

1)当n=9时,调用方法p返回值是多少?

2)当n=10时,调用方法p返回值是多少?

3)当n=123时,调用方法p返回值是多少?

4)总结P方法的功能是什么?

5)修改方法P,完成同样功能,达到不调用其它函数包括递归调用自己。

评语:

实验08:

数组

1.知道怎么样声明、创建和初始化各种类型的数组

2.理解二维数组的概念,能够声明、创建和初始化各种类型的二维数组

3.掌握对一维或二维数组元素的访问方法

4.掌握不规则二维数组的声明、创建和初始化以及访问的方法了解Arrays类及System类中关于数组操作的方法的使用

1.编写程序,掌握数组的声明和访问数组元素,了解数组对象length的作用

2.编写程序,掌握二维数组的定义和应用

3.编写程序,掌握二维不规则数组的定义和使用

4.编写程序,熟悉命令行参数

1.根据教科书程序5-5,写出外循环每次循环后数组的元素变化。

循环开始前的数组元素依次是:

第一次循环后的数组元素依次是:

第二次循环后的数组元素依次是:

循环后的数组元素依次是:

publicclassArrayTest{

inti,j;

inta[]={2,1,4,8,9,5,3};

for(i=0;

a.length-1;

intk=i;

for(j=i;

j<

a.length;

j++){

if(a[j]<

a[k]){

k=j;

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

i++)

System.out.print(a[i]+"

第一次循环后:

i=j=k=数组元素依次是

第二次循环后:

第三次循环后:

第四次循环后:

第五次循环后:

第六次循环后:

第七次循环后:

最后运行结果:

3.按照要求运行下面的程序,回答问题。

for(inti=0;

args.length;

第"

+i+"

个参数是"

+args[i]);

1)请按照下面的运行命令运行,并写出运行结果。

JavaCommandParameterAliceMikeMary

2)你认为args数组的作用是什么?

3)请写出运行时args数组中每个位置存放的元素值

4.有如下数组

intmyArray[]={1,2,3,4,5,6};

intyourArray[]={10,9,8,7,6,5,4,3,2,1};

请利用System.arraycopy方法编写一个程序,复制myArray数组的所有内容到yourArray数组,放在yourArray数组下标0开始的位置,并输出yourArray数组的每个元素。

11.有整型数组,按顺序包含元素:

10,7,9,2,4,5,

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1