JAVA程序设计实验指导书.docx
- 文档编号:23986519
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:77
- 大小:589.24KB
JAVA程序设计实验指导书.docx
《JAVA程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计实验指导书.docx(77页珍藏版)》请在冰豆网上搜索。
JAVA程序设计实验指导书
实验报告
湖南大学信息科学与工程学院
2013年第一学期
专业:
计算机科学与技术
课程名称:
Java程序设计
班级:
计科二班
姓名:
邓勇
学号:
20110801210
指导教师:
文佳宝
配套用书:
《Java程序设计教程》张永强等著
清华大学出版社2010年1月
实验01:
安装与熟悉J2SDK
实验目的:
1.了解和使用J2sdk(JDK)环境;
2.熟悉J2sdk集成环境的基本命令、功能和基本用法,并学会配置path等环境变量;
3.学习并熟练掌握使用J2SDK环境进行Java程序开发的全过程(包括:
源程序的编辑、编译、调试、运行和结果查看);
4.掌握Java应用程序的构成特点,并熟悉基本的错误调试。
实验内容
1.J2SDK开发包的安装(可选)
2.根据要求写出统环境变量的配置
3.编写一个JAVA程序进行调试,掌握在JDK开发包支持下编译和运行的过程
实验数据记录及分析(或程序及运行结果)
1.调试下面程序,指出错误
publicClassHelloWorldApp{
publicvoidstaticmain(string[]args){
system.out.println(“HelloWorld!
”);
}
}
错误1:
Class应该写成class
错误2:
void应该写在static后面
错误3:
string应该写成String
错误4:
system应该写成System,中文双引号应该改成英文
2.写出调试过程编译和执行的具体命令
1)上述文件保存后的文件名是:
HelloWorld.java
2)编译命令:
3)编译正确后,产生的另外一个文件全称是:
4)运行该程序的命令:
3.如果上面的编译命令中的HelloWorldApp.java换成以下格式,写出执行编译结果:
javachelloworldapp.java
javacHelloWorldApp
4.如果上面的运行命令改成以下格式,写出执行结果,如有错误请改正。
javahelloWorldApp.java
javahelloworldapp
javaHelloWorldApp.class
5.输入下面的随机数生成程序,重复上述编译和执行过程,分步写出两个命令执行过程。
importjava.util.Random;
publicclassMathDemo{
publicstaticvoidmain(String[]args){
Randomrand=newRandom();
intv=rand.nextInt();
System.out.println("你得到了一个"+v);
}
}
1)保存文件名为:
MathDemo.java
2)编译命令为:
3)运行程序命令为:
4)如果删除该程序的第一行import语句,重新编译,有何问题?
评语:
日期:
年月日
实验02:
MyEclipse开发环境
实验目的:
1.了解最基本的环境配置过程。
2.掌握MyEclipse环境下的Java程序开发过程。
实验数据记录及分析(或程序及运行结果)
1.在MyEclispe环境下创建一个项目MyExexercise,添加一个包demo,向包内添加一个类CommandParameter,配置运行参数,使得程序能够逐个输出命令行参数的要求。
1)自动生成的CommandParameter程序的第一行是什么?
2)在何处配置运行时的命令行参数?
2.在何处调整项目缺省的字符集。
3.在何处可以调整代码编辑框内的文字大小,写出操作指南。
4.如果console窗口关闭了,如何操作才能重新显示出来?
5.写出设置断点的步骤。
6.如何查看运行过程中各个变量的值。
评语:
日期:
年月日
实验03:
数值类型与变量声明
实验目的:
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
实验内容
1.编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
实验数据记录及分析(或程序及运行结果)
publicclassVariable{
publicstaticvoidmain(String[]args){
inta=10;
System.out.println("a="+a);
}
}
1.写出程序运行的结果
2.修改上述程序,定义一个字符型变量,并定义其初值为'a',然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
chara='a';
System.out.println("a="+a);
}
}
3.修改上述程序,定义一个字符型变量,并定义其初值为100,然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
chara=(char)100;
System.out.println("a="+a);
}
}
4.修改上述程序,定义一个字符型变量,并定义其初值为65536,然后输出该变量的值,在下面写出修改后的代码片段,如果有错误,说明原因。
publicclassVariable{
publicstaticvoidmain(String[]args){
chara=(char)0xffff;
System.out.println("a="+a);
}
}
Char表示一个Unicode字符,其值用16位无符号整数表示,范围为0~65535。
5.修改上述程序,定义一个单精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
floata=10.0f;
System.out.println("a="+a);
}
}
6.修改上述程序,定义一个双精度类型的变量,并定义其初值为10.0,然后输出该变量的值,在下面写出修改后的代码片段。
publicclassVariable{
publicstaticvoidmain(String[]args){
doublea=10.0;
System.out.println("a="+a);
}
}
7.替换下面的代码段到上述程序,分析现象。
floatf=10.0f;
doubled=100.0d;
f=d;
System.out.println("f="+f);
f的值未使用;f和d的类型不一样
8.替换下面的代码段到上述程序,分析结果。
inta=10;
charc='a';
a=c+a;
System.out.printf("c=%c",a);
字符c对应字符K,对应于十进制数97,执行a=c+a后,a的值为107。
9.声明一个布尔类型的变量,其初值为真。
10.替换下面的代码段到上述程序,分析现象。
Variablev=newVariable();
System.out.println("v="+v);
创建了一个对象v,为v分配了空间,但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("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
System.out.println("i="+i);
System.out.println("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;
System.out.println("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{
publicstaticvoidmain(String[]args){
longn=461012;
System.out.printf("%d%n",n);
System.out.printf("%08d%n",n);
System.out.printf("%+8d%n",n);
System.out.printf("%,8d%n",n);
System.out.printf("%+,8d%n%n",n);
doublepi=Math.PI;
System.out.printf("%f%n",pi);
System.out.printf("%.3f%n",pi);
System.out.printf("%10.3f%n",pi);
System.out.printf("%-10.3f%n",pi);
Calendarc=Calendar.getInstance();
System.out.printf("%tB%te,%tY%n",c,c,c);
System.out.printf("%tl:
%tM%tp%n",c,c,c);
System.out.printf("%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:
c<35?
3:
4){
case1:
System.out.println(""+c+"℃有点冷。
要多穿衣服。
");
case2:
System.out.println(""+c+"℃正合适。
出去玩吧。
");
case3:
System.out.println(""+c+"℃有点热。
");
default:
System.out.println(""+c+"℃太热了!
开空调。
");
}
}
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){
case2:
j+=6;
case4:
j+=1;
default:
j+=2;
case0:
j+=4;
}
j的值是6;
7.写出下列程序片段中while循环体重复执行的次数
inta=1,
b=1;
while(a<=1000){
a=2*a;
b=b+1;
}
System.out.println(b);
10
8.编写一个程序,输出1到200之间所有能被3整除的整数,要求输出时每行输出5个整数。
publicclassads{
publicstaticvoidmain(String[]args)
{
inta=0;
for(inti=1;i<=200;i++)
{
if(i%3==0){a++;
System.out.print(i+"");
}
if(a%5==0)System.out.print("\n");
}
}
}
9.编写一个程序,输出一个99乘法表,输出格式如下。
1×1=1
1×2=22×2=4
1×3=32×3=63×3=9
1×4=42×4=83×4=124×4=16
1×5=52×5=103×5=154×5=205×5=25
1×6=62×6=123×6=184×6=245×6=306×6=36
1×7=72×7=143×7=214×7=285×7=356×7=427×7=49
1×8=82×8=163×8=244×8=325×8=406×8=487×8=568×8=64
1×9=92×9=183×9=274×9=365×9=456×9=547×9=638×9=729×9=81
publicclasschengfabiao{
publicstaticvoidmain(String[]args)
{
inti,j;
int[][]a=newint[10][10];
for(i=1;i<10;i++)
for(j=1;j<=i;j++)
{a[i][j]=i*j;
}
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
System.out.print(j+"*"+i+"="+a[i][j]+"");
System.out.println();
}
}
}
10.下面输出素数的程序原意输出为下面的结果,但现在不是,请调试下面程序,使之能够按要求输出:
235711
1317192329
3137414347
5359616771
7379838997
publicclassPrime{
publicstaticvoidmain(String[]args){
booleanisPrime=true;//用来标识每次计算的数是否是素数,如果不是则为false;
for(intx=2;x<=100;x++){
intm=x/2;
for(inti=2;i<=m;i++){
if(x%i==0)
isPrime=false;//
break;
}
if(isPrime){
System.out.print(x+"\t");
}
if(n==5){
System.out.println();
}
}
}
}
改后代码为:
publicclassPrime{
publicstaticvoidmain(String[]args){
intn=0;
booleanisPrime=true;//用来标识每次计算的数是否是素数,如果不是则为false;
for(intx=2;x<=100;x++){
intm=x/2;
for(inti=2;i<=m;i++){
if(x%i==0)
{isPrime=false;//
break;}
else
isPrime=true;
}
if(isPrime){
System.out.print(x+"\t");
n++;
if(n%5==0){
System.out.println("\n");
}
}
}
}
}
评语:
日期:
年月日
实验07:
流程控制
(二)
实验目的:
1.进一步巩固对分支、循环结构的掌握,并简单了解有关方法的使用
实验数据记录及分析(或程序及运行结果)
1.分析程序
classTestApp{
publicstaticvoidmain(String[]args){
System.out.println(multiply(2,3,4,5));
}
publicintmultiply(int…nums){//变长参数
intresult=1;
for(intx:
nums)
result*=x;
returnresult;
}
}
能否正常运行?
原因是什么?
不能正常运行,因为没有定义数组x,应该定义和创建一个数组x,将所有的元素放到数组中。
2.编写程序,接受命令行传入的的一个参数,能够统计其中大写字母、小写字母、数字、空格及其他字符的个数,并且分别输出统计数据,如果碰到了”\n”则终止统计。
提示:
1)声明并出初始化一个字符串变量:
如Strings=”hello\nMike”;
2)s.charAt(0)表示取该字符串的第1个字符h;s.charAt
(1)取第2个字符e,其他依次类推;
3)s.length()返回该字符串的字符个数,如”hello”的字符个数是5。
publicclassTestApp{
publicstaticvoidmain(String[]args){
Strings="hello31Mike\n";
Strings1=s.toUpperCase();
Strings2=s.toLowerCase();
intcount1=0,count2=0,count3=0,count4=0,count5=0;
for(inti=0;i<100;i++)
{
if(s.charAt(i)=='\n')
break;
else
if(s.charAt(i)=='0'|s.charAt(i)=='1'|s.charAt(i)=='2'|s.charAt(i)=='3'|s.charAt(i)=='4'|s.charAt(i)=='5'|s.charAt(i)=='6'|s.charAt(i)=='7'|s.charAt(i)=='8'|s.charAt(i)=='9')
count1++;
else
if(s.charAt(i)=='')
count2++;
else
if(s.charAt(i)==s1.charAt(i))
count3++;
else
if(s.charAt(i)==s2.charAt(i))
count4++;
else
count5++;
}
System.out.println("数字的个数为:
"+count1);
System.out.println("空格的个数为:
"+count2);
System.out.println("大写字母的个数为:
"+count3);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计 实验 指导书