JAVA实验报告模板.docx

上传人:b****5 文档编号:6659944 上传时间:2023-01-08 格式:DOCX 页数:22 大小:261.66KB
下载 相关 举报
JAVA实验报告模板.docx_第1页
第1页 / 共22页
JAVA实验报告模板.docx_第2页
第2页 / 共22页
JAVA实验报告模板.docx_第3页
第3页 / 共22页
JAVA实验报告模板.docx_第4页
第4页 / 共22页
JAVA实验报告模板.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

JAVA实验报告模板.docx

《JAVA实验报告模板.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告模板.docx(22页珍藏版)》请在冰豆网上搜索。

JAVA实验报告模板.docx

JAVA实验报告模板

本科实验报告

 

课程名称:

Java语言程序设计

实验地点:

明相校区软件学院机房

专业班级:

软件1406学号:

2014005649

学生姓名:

杜向楠

指导教师:

李君婵

2015年11月26日

实验名称

实验一:

JAVA语言基础

实验目的和要求

(1)通过实验,掌握Java语言程序设计的基本方法。

(2)学会Java语言中标示符的命名、运算符和表达式的应用。

(3)熟练地掌握Java程序流程控制语句的应用。

实验内容

(1)编写应用程序,计算100(含100)以内所有偶数的和。

(2)“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。

编写程序,求所有的水仙花数。

(3)编写一个程序,求1-100间的素数。

(4)有一函数:

x(x<1)

Y=3x-2(1≤x<10)

4x(x≥10)

写一程序,给定x值,输出y值。

(5)使用for循环语句,编写程序输出以下图案。

☆☆☆

☆☆☆☆☆

☆☆☆☆☆☆☆

☆☆☆☆☆

☆☆☆

主要仪器设备

台式或笔记本电脑

实验记录

实验一:

package判断偶数;

publicclass求和{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=0;i<=100;i=i+2)

sum=sum+i;

System.out.println(sum);

//TODOAuto-generatedmethodstub

}

}

实验结果

实验2

package水仙花;

publicclassflower{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

for(inti=100;i<=999;i++)

{

intg,s,b;

b=1/100;

s=(i-b*100)/10;

g=i-b*100-s*10;

if(i==g*g*g+s*s*s+b*b*b)

{

System.out.println(i);

}

}

//TODOAuto-generatedmethodstub

}

}

实验结果

实验3

实验4

实验5

packagefor循环1;

importjava.io.*;

publicclassfor循环3{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args)throwsIOException{

for(inti=0;i<9;i++){

if(i>1&&i%2==0);

else{

System.out.print("\n");

for(intk=9;k>i/2;k--)

System.out.print("");

for(intj=0;j

System.out.print("*");

}

}

}

for(inti=5;i>0;i--){

if(i>1&&i%2==0);

else{

System.out.print("\n");

for(intk=9;k>i/2;k--)

System.out.print("");

for(intj=0;j

System.out.print("*");

}

}

}

//TODOAuto-generatedmethodstub

}

}

实验结果

遇到的问题和解决方法

 

心得体会

 

实验名称

实验三简单程序、分支程序和循环程序设计

实验四数组应用程序设计

实验目的和要求

1.理解C语言程序的基本结构和实现基本结构的语句;

2.熟练应用赋值、输入和输出语句;

3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;

4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;

5.掌握数组的定义、初始化和数组元素的引用方法;

6.掌握与数组有关的算法,如:

求最大(小)值,排序等;

7.理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。

实验内容

1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。

2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。

3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。

4.输入一百分制成绩,输出成绩等级A、B、C、D、E。

90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。

要求程序能处理错误的输入数据。

5.利用公式:

π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。

(fabs(t)表示t的绝对值,1e-6=1*10-6)。

6.在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6的偶数都可以表示为两个素数之和,如:

100=3+97。

7.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。

8.输入一个英文句子,统计单词的个数。

主要仪器设备

台式或笔记本电脑

实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)

3.#include

#definepi3.14

voidmain()

{

floatr=1.5,h=3,c,s,v;

c=2*pi*r;

s=pi*r*r;

v=s*h;

printf("c=%f,s=%f,v=%f\n",c,s,v);

}

4.#include

voidmain()

{

ints;

scanf("%d",&s);

if(s<=100&&s>=0)

{

if(s>=90)

printf("A\n");

elseif(s<=90&&s>=80)

printf("B\n");

elseif(s<=80&&s>=70)

printf("C\n");

elseif(s<=70&&s>=60)

printf("D\n");

else

printf("E\n");

}

else

printf("error\n");

}

5.#include

voidmain()

{

inti=-1,s=-1;

floatt=1,n=1.0/3,k=1;

for(k=2;n>=1e-6;k+=1)

{

t+=s*n;

n=1.0/(2*k+1);

s*=i;

}

printf("pi=%f\n",4*t);

}

6.#include

#include

#defineN65534

intpn(intx)

{

inti,k;

k=(int)sqrt(x);

for(i=2;i<=k;i++)

if(x%i==0)

break;

if(i>k)

return1;

else

return0;

}

voidmain()

{

inta,b,c;

for(a=8;a

{

for(b=3;b<(a+1)/2;b++)

{

if(pn(b)&&pn(a-b))

{

c++;

break;

}

}

//printf("%d=%d+%d\n",a,b,a-b);

}

if(a==N)

printf("Allture\n");

else

printf("Noall\n");

}

7.#include

voidmain()

{

inta[10]={10,20,30,40,50,60,70,80,90},*p,i,j,x;

p=a;

printf("Pleaseinputanumber:

\n");

scanf("%d",&x);

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

if(*(p+i)x)

{

j=i;

break;

}

for(i=9;i>j;i--)

*(p+i)=*(p+i-1);

*(p+j+1)=x;

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

printf("%5d",*(p+i));

printf("\n");

}

8.#include

voidmain()

{

inti,n=1;

charstr1[100],*p=str1;

printf("pleaseinputasentence:

\n");

gets(str1);

for(i=1;*(p+i)!

='\0';i++)

if(*(p+i)=='')

n++;

printf("%d\n",n);

}

 

遇到的问题和解决方法

做5题时,π的值总是出错,开始π的值总是0,经检查后发现是算法无法进入循环,后改进后发现值仍有错误,最后发现是应从第二项开始,改正后输出正确结果。

在验证哥德巴赫猜想时开始一直输出2+n【n有时是非素数】,后发现是仅仅判断b是否为素数,未判断a-b是否为素数,经改正后输出正确结果,但较为繁复,后改进为如果有错,输出Noall,如果全部的证,输出allyes,输出正确。

心得体会

“/”除号左边如果是整型,则输出结果仍为整型,只有当除号左边为实型时,才能输出正确实型答案。

实验名称

实验五指针应用程序设计

实验六函数应用程序设计

实验目的和要求

1.理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;

2.学会使用指针处理数组中的数据,学会用指针处理字符串;

3.了解指针数组和指向指针的指针;

4.掌握C语言函数的定义、调用和声明方法,掌握函数的参数传递方式;

5.了解变量的作用域和存储类别。

实验内容

1.输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。

2.输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。

3.编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。

(使用指针)

4.设计一函数,判断一个字符串是否是回文。

“回文”是一种顺序读和反序读都一样的字符串,例如:

“121”“abcba”“ABCCBA”。

在主函数中输入字符串并输出判断结果。

5.编写一个程序,由主函数和如下函数构成。

⑴设计函数:

input(),输入n个无序的整数存储在一个数组中;

⑵设计函数:

sort(),用起泡法对数组中的n各数据从大到小排序;

⑶设计函数:

search(),用折半查找法在已排序的n个数种查找指定的数据,若存在,返回其所处的位置,否则,将其插入适当位置使数据仍有序。

在主函数中调用上述函数,验证函数的功能。

6.输入并运行第6章例6-27中的程序,根据输出结果总结局部静态变量的特点。

主要仪器设备

台式或笔记本电脑

实验记录(写出实验内容中3,4,5的程序代码和运行结果)(可分栏或加页)

3.#include

voidmain()

{

chara[100],*p;

inti;

printf("Pleaseinputasentence:

\n");

gets(a);

p=a;

if(*p<='z'&&*p>='a')

*p-=32;

for(i=0;*(p+i)!

='\0';i++)

if(*(p+i)==''&&*(p+i+1)<=122&&*(p+i+1)>=97)

*(p+i+1)-=32;

printf("%s\n",p);

}

 

4.#include

inthw(char*p)

{

inti,n;

for(i=0;*(p+i)!

='\0';i++)

;

n=i;

for(i=0;i<=n/2;i++)

if(*(p+i)!

=*(p+n-i-1))

break;

if(i>n/2)

return1;

elsereturn0;

}

voidmain()

{

chara[80];

intk;

printf("Pleaseinputacharactor:

\n");

gets(a);

k=hw(a);

if(k)

printf("Yes\n");

elseprintf("No\n");

}

5.#include

voidinput(intn,inta[])

{

inti;

printf("Pleaseinput%dnumbers:

\n",n);

for(i=0;i

scanf("%d",&a[i]);

}

voidsort(intn,inta[])

{

inti,j,m,t;

for(i=0;i

{

m=i;

for(j=i+1;j

if(a[j]>a[m])

m=j;

t=a[i];

a[i]=a[m];

a[m]=t;

}

}

intsearch(intx,inta[],intn)

{

intmax=n-1,min=0,mid,i;

while(min+1!

=max)

{

mid=(min+max)/2;

if(x>a[mid])

min=mid;

elseif(x

max=mid;

else

{

returnmid;

break;

}

}

if(x==a[max])

returnmax;

elseif(x==a[min])

returnmin;

elseif(x!

=a[mid])

{

for(i=1;i<10;i++)

if(a[i-1]>x&&x>a[i])

{

n=i;

break;

}

for(i=9;i>=n;i--)

a[i+1]=a[i];

a[n]=x;

return-1;

}

}

voidmain()

{

intn,a[100],i,k,x;

printf("Pleaseinputaquantity:

\n");

scanf("%d",&n);

input(n,a);

for(i=0;i

printf("%5d",a[i]);

printf("\n");

sort(n,a);

for(i=0;i

printf("%5d",a[i]);

printf("\n");

printf("Pleaseinputanumber:

\n");

scanf("%d",&x);

k=search(x,a,n);

if(k==-1)

{

for(i=0;i

printf("%5d",a[i]);

printf("\n");

}

else

printf("%d\n",k);

}

遇到的问题和解决方法

4题中程序总是停止响应,后经发现是k=hw(a)出错,写成了k=hw(a[]),导致程序无法正确运行出结果,修改后恢复正常。

5题中先是无法正确排序,总是错序或输出错误结果,检查后发现是a[m]写成了m,导致循环无法正确进入,修改后正常输出。

心得体会

调用函数时如果函数中实际参数为数组,调用函数时括号中只写其数组名。

实验名称

实验七结构体应用程序设计

实验八文件操作程序设计

实验目的和要求

1.理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;

2.掌握结构体变量和结构体数组的初始化方法;

3.掌握结构体变量和结构体成员的引用方法;

4.理解文件、文件类型、文件类型指针,熟悉文件的操作过程。

5.掌握文件打开、关闭和文件读写等文件操作函数的手机用。

实验内容

1.输入并运行第7章例7-1中的程序。

理解结构体类型、变量和结构体成员。

2.编写一个程序实现如下功能:

定义一个点的结构数据类型,实现下列功能:

⑴输入点的坐标值。

⑵求两个点中点坐标。

⑶求两点间距离。

3.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。

4.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。

主要仪器设备

台式或笔记本计算机

实验记录(写出实验内容中2,3,4的程序代码和运行结果)(可分栏或加页)

2.#include

#include

voidmain()

{

inta[2],b[2],x[2];

floatd;

printf("Pleaseinputaposition:

\n");

scanf("%d,%d",&a[0],&a[1]);

printf("Pleaseinputanotherposition:

\n");

scanf("%d,%d",&b[0],&b[1]);

x[0]=(a[0]+b[0])/2;

x[1]=(a[1]+b[1])/2;

d=sqrt((a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1]));

printf("x(%d,%d)\nd=%d\n",x[0],x[1],d);

}

 

3.#include

#include

structstudent

{

intnumber;

charname[10];

intscore[3];

floatave;

}a[5];

voidmain()

{

inti,j,sum[5]={0,0,0,0,0};

floatave[5];

FILE*fp;

structstudenta[5];

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

{

printf("Pleaseinputthestudentnumber:

\n");

scanf("%d",&a[i].number);

printf("Pleaseinputthestudentname:

\n");

scanf("%s",&a[i].name);//gets(a[i].name);

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

{

printf("Pleaseinputascore:

\n");

scanf("%d",&a[i].score[j]);

}

}

for(i=1;i<5;i++)

{

for(j=1;j<3;j++)

sum[i]+=a[i].score[j];

ave[i]=(float)sum[i]/3;

}

if((fp=fopen("d:

\\stud.txt","wb"))==NULL)

{

printf("Cannotopenfile\n");

exit(0);

}

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

if(fwrite(&a[i],sizeof(structstudent),1,fp)!

=1)

printf("writeerror\n");

fclose(fp);

}

遇到的问题和解决方法

输出时无法正确完成输出的过程,后发现是格式有误,改正后正确运行。

心得体会

涉及文件的部分总是一个固定的程序,其语句多是较为固定的。

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

当前位置:首页 > 外语学习 > 英语学习

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

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