中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx

上传人:b****6 文档编号:16405710 上传时间:2022-11-23 格式:DOCX 页数:93 大小:1.98MB
下载 相关 举报
中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx_第1页
第1页 / 共93页
中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx_第2页
第2页 / 共93页
中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx_第3页
第3页 / 共93页
中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx_第4页
第4页 / 共93页
中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx

《中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx(93页珍藏版)》请在冰豆网上搜索。

中国矿业大学计算机学院java网络编程实验报告Word文档下载推荐.docx

b[1])//if语句判断哪个数最大

b[2])

System.out.println(b[0]);

else

System.out.println(b[2]);

if(b[1]>

System.out.println(b[1]);

else

}

(2)实验结果截图

7.编写一程序,将从键盘输入的一个百分制考试成绩转化为五分制输出。

百分制与五分制的对应如下:

(switch语句)

100~90—A,89~80—B,79~70—C,69~60—D,<

60—E

//导入需要用的类

classJava1_7{

publicstaticvoidmain(Stringavg[])

System.out.println("

请输入一个考试成绩:

Scannersc=newScanner(System.in);

//输入数

inta=sc.nextInt();

System.out.println("

换算后:

switch(a/10)//除以10以找到匹配case中的数

{

case10:

case9:

System.out.println("

A"

break;

case8:

B"

case7:

C"

case6:

default:

E"

}

}

(三)实验体会

本次实验内容较为简单,主要是熟悉java环境的搭配以及练习java编程的简单过程,还是

很容易掌握的。

实验二流程控制程序设计

1.掌握Java流程控制语句、Math类、数组的编程方法。

2.要求至少完成实验内容题的70%。

1.打印一个三角形的1~9的乘法表。

 

importjava.util.Formatter;

//导入格式控制的类

classJava2_1

publicstaticvoidmain(Stringargs[])

System.out.print("

*"

+"

"

//去掉println中的ln表示不换行输出

for(inti=1;

=9;

i++)//输出第一行

{System.out.print(i);

System.out.print("

System.out.println();

for(intj=1;

j<

j++)

{

System.out.print(j+"

//输出行标

for(intk=1;

k<

=j;

k++)

System.out.format("

%2s"

k*j);

//格式控制输出,输出两个字符如果前面不够用空格补

System.out.print("

}

System.out.println();

2.编写一程序,将从键盘输入的每个月份数(整数)显示出其对应的英文,直至输入0结束,注意对非法数据的处理。

(while,switch语句)

classJava2_2

请输入一个月份(0为结束)"

Scannersc=newScanner(System.in);

inta=sc.nextInt();

while(a!

=0)

switch(a)

case1:

January"

break;

case2:

February"

case3:

March"

case4:

April"

case5:

May"

case6:

June"

case7:

July"

case8:

August"

case9:

September"

case10:

October"

case11:

November"

case12:

December"

default:

请输入正确的数字!

Scannerb=newScanner(System.in);

a=b.nextInt();

(2)实验结果截图

3.打印图案:

一个由n行星花组成的三角形。

如n=5时的图案为:

classJava2_3

publicstaticvoidmain(Stringarg[])

请输入n"

//从键盘接收数字n

intn=sc.nextInt();

n;

i++)//控制循环输出几行

for(intk=0;

n-i;

k++)//控制输出开头的空格有几个

for(intj=0;

=i;

j++)//根据行数输出星花

(2)实验结果截图

4.打印出所有的“水仙花数”。

所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。

例如153是一个“水仙花数”,因为153=13+53+33。

classJava2_4

publicstaticvoidmain(Stringarg[]){

intb[]=newint[3];

inti=100;

//i用作取每个位的数字的数

intk=100;

//用k判断是不是等于其每个位上数的立方之和

while(i<

1000)

j++)//由于一共三位,循环三次

b[j]=i%10;

b[j]=b[j]*b[j]*b[j];

//使用b[]这个数组来存储每位的立方

i/=10;

if(k==(b[0]+b[1]+b[2]))//判断是否符合水仙花数的条件

System.out.print(k);

System.out.println();

k++;

i=k;

5.编写一个程序,从键盘读一个年份的数字,然后判断该年是否是闰年,如果是就输出“闰年”,如果不是就输出“非闰年”。

闰年的条件是满足以下两个条件之一:

1)能被4整除,但不能被100整除;

2)能被4整除,又能被400整除。

classJava2_5{

inti=0;

do{

请输入一个年份"

i=sc.nextInt();

if(i<

0)System.out.println("

年份不合法"

}while(i<

0);

if((i%4==0&

i%100!

=0)||i%400==0)System.out.println("

是闰年"

elseSystem.out.println("

不是闰年"

6.统计个位数是6,并且能被3整除的五位数共有多少个。

classJava2_6

inti=10006;

intcount1=0;

//用于计数

100000)

if(i%3==0)

count1++;

i+=10;

共"

+count1+"

个"

7.编写一个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个数,然后输出其中的最小数。

8.编写一个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个数,然后排序(升序)后输出。

(7和8一起做)

publicclassJava2_7

请输入10个整数"

inttemp=0;

intb[]=newint[10];

Scannersc=newScanner(System.in);

10;

i++)

for(intj=9;

j>

=0;

j--)

for(intk=9;

k>

9-j;

k--)

if(b[k]<

b[k-1])

temp=b[k];

b[k]=b[k-1];

b[k-1]=temp;

System.out.println();

System.out.println("

排序好后:

for(intii=0;

ii<

ii++)

System.out.print(b[ii]+"

最小的数是"

+b[0]);

11.编写一个程序,在其中定义一个6´

6的二维整型数组,利用随机函数产生36个10~20之间的随机整数放入,然后将数组输出到屏幕上(6行6列格式)。

最后计算出数组中对角线元素的平方根和。

importjava.lang.Math;

//用于计算平方根

importjava.text.DecimalFormat;

//用于格式控制输出

classJava2_11{

DecimalFormatdf=newDecimalFormat("

0.00"

//设定平方根和的结果是小数点保留两位

doublea=0;

//用于保存平方根和

doublec=0;

intb[][]=newint[6][6];

//用于保存6×

6二维数组

6;

b[i][j]=(int)(Math.random()*20);

//随机数生成

}while(b[i][j]<

10);

System.out.print(b[i][j]+"

for(intk=0;

a=a+Math.pow((double)b[k][k],0.5);

//计算平方根和

c=c+Math.pow((double)b[k][5-k],0.5);

从[0][0]到[5][5]的对角线的平方根和是"

+df.format(a));

从[0][5]到[5][0]的对角线的平方根和是"

+df.format(c));

本次实验意为锻炼个人的java面向过程编程思想,通过这次实验,本人对面向过程的编程思路有了进一步的提升和了解,同时更熟悉了Java中的一些用于处理数据和格式控制等的类,在编程的掌握上有了更好的理解和应用

实验三面向对象程序设计

1.掌握类、对象、方法、继承、接口的编程技术。

2.要求至少完成实验内容题的70%。

1.编一程序,求两个正整数m、n的最大公约数。

要求程序中有两个方法,分别使用循环和递归求最大公约数,最后在主方法中分别调用这两个方法求解56与91的最大公约数。

提示:

用辗转相除法。

方法:

1)求m除n的余数r;

2)如果r为0,则n为最大公约数,结束。

否则转(3);

3)用n置m,用r置n,回到

(1)。

classbb{

intx,y,c;

intGong;

bb(intx,inty)

{this.x=x;

this.y=y;

this.c=x%y;

publicintRun()//循环法

while(c!

=0){//在这里要注意除数为0的情况,不然会报错

x=y;

y=c;

c=x%y;

returny;

publicintRun2()//递归法

if(c==0){returny;

else{

returnnewbb(y,x%y).Run2();

//匿名对象

publicclassJava3_1{

publicstaticvoidmain(Stringargs[])

请输入两个数!

inta,b;

a=sc.nextInt();

b=sc.nextInt();

bbc=newbb(Math.max(a,b),Math.min(a,b));

//方法一

循环法求得最大公约数是"

+c.Run());

//方法二

递归法求得最大公约数是"

+c.Run2());

2.编写一个完整的JavaApplication程序,其中设计一个复数类Complex,利用它验证两个复数1+2i和3+4i相加产生一个新的复数4+6i。

复数类Complex的设计必须满足如下要求:

1)Complex的属性有:

realPart:

int型,代表复数的实数部分;

maginPart:

int型,代表复数的虚数部分。

2)Complex的方法有:

Complex():

构造方法,将复数的实部和虚部都置0;

Complex(intr,inti):

构造方法,形参r为实部的初值,i为虚部的初值。

3)ComplexcomplexAdd(Complexa):

将当前复数对象与形参复数对象相加,最后的结果仍是一个复数对象,返回给此方法的调用者。

4)StringtoString():

把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部的数据。

classComplex{

privateintrealPart,maginPart;

//定义复数的实数部分和虚数部分

Complex(){realPart=0;

maginPart=0;

Complex(intr,inti){realPart=r;

maginPart=i;

}//定义构造参数

publicComplexcomplexAdd(Complexa){//复数相加函数

Complexresult=newComplex();

//采用不破坏的相加方式

result.realPart=this.realPart+a.realPart;

result.maginPart=this.maginPart+a.maginPart;

returnresult;

publicStringtoString(){//复数类输出函数

returnrealPart+"

+maginPart+"

i"

;

publicclassJava3_2{

ComplexDemo_1=newComplex(1,2);

产生的第一个复数为"

+Demo_1.toString());

ComplexDemo_2=newComplex(3,4);

产生的第二个复数为"

+Demo_2.toString());

上述两个复数相加结果为"

+Demo_plexAdd(Demo_2).toString());

3.编写一个包含圆类的程序,并为圆类设计几个构造方法和一般方法,在主方法中创建一个圆类对象并输出它的周长和面积。

要求:

属性有3个:

x,y,r,分别放置圆心坐标和半径;

构造方法有2个。

一个是无参的,用于设置3个属性的值都为0;

另一个有参的,用于设置3个属性的值,以确定一个具体的圆。

计算周长的方法:

doublezc();

计算面积的方法:

doublemj()。

classCircle{

finaldoublePi=3.1416;

privatedoublex,y,r;

//定义坐标和半径

Circle(){x=0;

y=0;

r=0;

Circle(doublexx,doubleyy,doublerr){x=xx;

y=yy;

r=rr;

doublezc(){

return2*Pi*r;

doublemj(){

returnPi*r*r;

publicclassJava3_3{

publicstaticvoidmain(Stringargs[]){

请输入圆的x坐标,y坐标以及半径"

DecimalFormatdf=newDecimalFormat("

0.0000"

//

doublex,y,r;

Scannerin=newScanner(System.in);

x=in.nextDouble();

y=in.nextDouble();

r=in.nextDouble();

Circlea=newCircle(x,y,r);

该圆的坐标为:

+x+"

"

+y);

该圆的周长为:

+df.format(a.zc()));

该圆的面积为:

+df.format(a.mj()));

4.编写一个程序,它含有一个圆类、圆柱类和主类。

1)圆类参考上一题中的圆类;

2)圆柱类:

继承圆类,并加入一个属性h(高);

构造方法(给4个属性赋值);

计算面积的方法(doublemj());

计算体积的

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

当前位置:首页 > 职业教育 > 职业技术培训

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

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