Java实践报告.docx

上传人:b****7 文档编号:23969015 上传时间:2023-05-23 格式:DOCX 页数:27 大小:22.90KB
下载 相关 举报
Java实践报告.docx_第1页
第1页 / 共27页
Java实践报告.docx_第2页
第2页 / 共27页
Java实践报告.docx_第3页
第3页 / 共27页
Java实践报告.docx_第4页
第4页 / 共27页
Java实践报告.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

Java实践报告.docx

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

Java实践报告.docx

Java实践报告

 

实验1熟悉JAVA开发环境搭建与使用

一、实验目标:

1)了解掌握java软件的下载方法。

2)熟练掌握在JDK在window环境下的安装以及环境变量的配置方法。

3)熟练掌握java源文件在命令提示符下编译,解析执行的方法。

二、实验学时数:

2学时

三、实验要求:

1)安装JDK并配置好环境变量。

2)测试环境变量是否配置成功。

3)完成实验教材一个简单应用程序的编写,编译,执行的过程。

四、实验步骤及结果

1)实验步骤和源代码

设置环境变量步骤,以及实验教材一个简单应用程序的完整代码

publicclasshello{

publicstaticvoidmain(Stringargs[]){

Aa=newA();

a.fA();

}

}

classA{

voidfA(){

System.out.println("");

}

}

2)实验运行效果截图()

JDK安装成功或,java,javac运行截图,应用程序运行结果截图

五、心得体会

学到很多东西

 

实验2基本数据类型和输入输出练习

一、实验目标:

1)掌握基本数据类型的转换

2)掌握在命令行下数据的输入输出

二、实验学时数:

2学时

三、实验要求:

1)编写一个Java应用程序,该程序在命令行窗口输出阿拉伯数字、英文字母表和俄文字母表。

2)编写一个Java应用程序,用户从键盘上输入数字,程序输出这些数字的累加和、平均值以及乘积结果。

拓展(自行练习):

A)求解方程a*x*x+b*x+c=0的根,从键盘上分别给a,b,c赋值.判断输入的数值是否能使方程成立,成立时求出方程的根并在控制台显示出来,不成立时在控制台显示不成立信息。

B)学习指导P10~12页课本知识拓展

⑴数组的快速复制

⑵多维数组

四、实验步骤及结果

1)程序源代码

题1程序源代码

publicclassa{

publicstaticvoidmain(String[]args)

{

chara='а';

charb='я';

intl=(int)b-(int)a;

intm=0;

charc='a';

chard='z';

intx=(int)d-(int)c;

charf='0';

charg='9';

inty=(int)g-(int)f;

intcc=0;

System.out.println("阿拉伯数字共有:

"+y);

for(inti=(int)f;i<=(int)g;i++)

System.out.print((char)i+"\t");

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

System.out.println("英文字母总共有:

"+x);

for(inti=(int)c;i<=(int)d;i++){

cc++;

System.out.print((char)i+"\t");

if(cc==10){

cc=0;

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

}

}

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

System.out.println("俄文字母总共有:

"+l);

for(inti=(int)a;i<=(int)b;i++){

cc++;

System.out.print((char)i+"\t");

if(cc==10){

cc=0;

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

}

}

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

}

}

题2程序源代码。

packagemars.y;

importjava.util.*;

publicclassc{

publicstaticvoidmain(Stringargs[]){

Scannerreader=newScanner(System.in);

doublesum=0;

doubleji=1;

intm=0;

while(reader.hasNextDouble()){

doublex=reader.nextDouble();

m=m+1;

sum=sum+x;

ji=ji*x;

}

System.out.printf("%d个数的和为%f\n",m,sum);

System.out.printf("%d个数的积为%f\n",m,ji);

System.out.printf("%d个数的平均值是%f\n",m,sum/m);

}

}

拓展题目源代码(如完成则放进去,拓展题目不做要求)

2)实验运行效果截图

题1、2运行截图。

(程序运行结果截图中加打印上个人姓名等)

 

五、心得体会

学到很多东西

 

实验3表达式与Java控制语句

一、实验目标:

1)了解掌握java表达式以及其求值。

2)熟练掌握java控制语句:

条件分支语句。

3)熟练掌握java控制语句:

循环语句。

二、实验学时数:

2学时

三、实验要求:

1)编写一个Java应用程序,输入一个百分制成绩输出对应等级情况,请分别使用if分支语句、switch语句来实现。

100~90------>A

89~80------>B

79~70------>C

69~60------>D

59~0------>E

2)控制台上的猜数字游戏编程,要求系统随机出一个0~100范围内的猜测数字,然后用户对其进行猜测,电脑把每次输入的数据和猜测数字进行比较,如果输入的数据比猜测数字大,电脑提示猜大了,要求用户重新输入;如输入的数据比猜测数字小,电脑提示猜小了,要求用户重新输入,直到猜对数字为止。

(学习指导p14,3.2.1)

拓展(自行练习):

A)编写一个Java应用程序,使用while循环、for循环计算1~1000之间能被3和7同时整除的整数之和。

B)学习指导课本p15页3.2.2,回文数。

C)学习指导课本p17页arrays类实现数字排序。

四、实验步骤及结果

1)程序源代码

题1程序源代码

Switch:

:

importjava.util.*;

publicclassa{

publicstaticvoidmain(String[]args)

{

Scannerreader=newScanner(System.in);

System.out.println("输入一个数:

");

intn=reader.nextInt();

intm;

m=n/10;

switch(n){

case100:

System.out.printf("%d属于等级A",n);return;

}

switch(m){

case9:

System.out.printf("%d属于等级A",n);

break;

case8:

System.out.printf("%d属于等级B",n);

break;

case7:

System.out.printf("%d属于等级C",n);

break;

case6:

System.out.printf("%d属于等级D",n);

break;

case5:

case4:

case3:

case2:

case1:

case0:

System.out.printf("%d属于等级E",n);

break;

default:

System.out.printf("%d不属于任何等级",n);

}

}

}

If:

:

:

:

importjava.util.*;

publicclassa{

publicstaticvoidmain(String[]args)

{

Scannerreader=newScanner(System.in);

System.out.println("输入一个数:

");

intn=reader.nextInt();

if(90<=n&&n<=100){

System.out.printf("%d属于等级A",n);

}

elseif(80<=n&&n<90){

System.out.printf("%d属于等级B",n);

}

elseif(70<=n&&n<80){

System.out.printf("%d属于等级C",n);

}

elseif(60<=n&&n<70){

System.out.printf("%d属于等级D",n);

}

elseif(0<=n&&n<60){

System.out.printf("%d属于等级E",n);

}

else{

System.out.printf("%d不属于任何等级",n);

}

}

}

题2程序源代码。

importjava.util.*;

publicclassa{

publicstaticvoidmain(Stringargs[]){

System.out.println("给你一个1至100之间的整数,请猜测这个数");

intrealNumber=(int)(Math.random()*100)+1;

intyourGuess=0;

Scannerreader=newScanner(System.in);

System.out.println("输入您的猜测:

");

yourGuess=reader.nextInt();

intz=0;

while(yourGuess!

=realNumber){

if(yourGuess>realNumber){z=z+1;

System.out.println("猜大了,请再猜:

");

yourGuess=reader.nextInt();

}

elseif(yourGuess

System.out.println("猜小了,请再猜:

");

yourGuess=reader.nextInt();

}

}

System.out.println("猜对了!

");

System.out.printf("猜测数字是%d\n",yourGuess);

z=z+1;

System.out.printf("你猜了%d次",z);

}

}

拓展题目源代码(如完成则放进去,拓展题目不做要求)

2)实验运行效果截图

题1、2运行截图。

(程序运行结果截图中加打印上个人姓名等)

Switch:

 

IF

 

五、心得体会

学到很多东西

实验4类的定义与对象的使用

一、实验目标:

1)类的定义,类的对象的声明、实例化以及通过对象调用方法。

2)静态变量、静态方法的使用(有static 修饰)。

3)包语句定义、包中类的引入

二、实验学时数:

2学时

三、实验要求:

1)有一个类A,有两个成员变量,一个为实例变量floata,另一个为静态变量floatb;有2个set方法来实现对成员变量的赋值;有2个get方法实现对成员变量数值的读取;有2个input方法实现对成员信息的打印。

定义一个主类,使用类A的静态成员,静态方法;实例化类A的对象,通过对象调用类A的方法。

(实验教材P24--4.2.2)

2)定义设计一个Trangle(三角形)类,该类放在tom.jiafei包中,要求包含4个成员变量,三条边sideA,sideB,sideC,、一个布尔值bool(判断是否成为三角形),包含构造函数、求三角形面积的方法getArea和重新设置三角形三条边的方法setLength。

(改进于实验教材p26--4.2.3)

定义个主类,创建Trangle类的对象,调用方法对输入的三条边进行面积计算。

拓展(自行练习):

(理论教材作业题3、4)

a)编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有方程系数的3个成员变量以及计算实根的方法。

要求:

该类的所有对象共享常数项。

(参考理论课本64例4-12)

(类所有对象都能共享----静态,说明成员变量中表示常数项的为静态变量)

b)编写两个类:

A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以计算两个整数的最小公约数。

要求:

类B中的一个成员变量是类A的声明对象(参考理论课本58例4-7)

(分析每个类中需要定义的成员变量,以及方法有那些)

四、实验步骤及结果

1)程序源代码

题1程序源代码

classA{

floata;

staticfloatb;

voidsetA(floata){

this.a=a;

}

voidsetB(floatb){

this.b=b;

}

floatgetA(){

returna;

}

floatgetB(){

returnb;

}

voidinputA(){

System.out.println(a);

}

staticvoidinputB(){

System.out.println(b);

}

}

publicclassbb{

publicstaticvoidmain(Stringargs[]){

A.b=100;

A.inputB();

Acat=newA();

Adog=newA();

cat.setA(200);

cat.setB(400);

dog.setA(200);

dog.setB(900);

cat.inputA();

cat.inputB();

dog.inputA();

dog.inputB();

}

}

 

题2程序源代码。

packagewode.nide;

importjava.util.*;

publicclassaa{

doublesideA,sideB,sideC;

booleanboo=true;

publicaa(){

this.sideA=sideA;this.sideB=sideB;this.sideC=sideC;

}

publicvoidsetLength(){

do

{

Scannerd=newScanner(System.in);

System.out.println("请输入边长:

");

System.out.print("a=");

sideA=d.nextDouble();

System.out.print("b=");

sideB=d.nextDouble();

System.out.print("c=");

sideC=d.nextDouble();

panduan();

if(boo==false)

System.out.println("不可计算面积请再次输入");

}

while(boo==false);

System.out.println("我的面积是:

"+getArea());

}

publicdoublegetArea(){

doubles=(sideA+sideB+sideC)/2;

doublearea=Math.sqrt(s*(s-sideA)*(s-sideB)*(s-sideC));

returnarea;

}

publicvoidpanduan(){

if(sideA+sideB>sideC&&sideA+sideC>sideB&&sideC+sideB>sideA){

System.out.println("我是三角形边长为"+"a="+sideA+"b="+sideB+"c="+sideC);

boo=true;

}

else{

System.out.println("我不是三角形");

boo=false;

}

}

publicstaticvoidmain(Stringargs[]){

aat=newaa();

t.setLength();

}

}

 

拓展题目源代码(如完成则放进去,拓展题目不做要求)

2)实验运行效果截图

题1

、2运行截图。

(程序运行结果截图中加打印上个人姓名等)

五、心得体会

学到很多东西

 

实验5类的继承

一、实验目标:

1)基类与派生类的定义。

2)基类的概念出发,理解派生类对象使用基类属性的原理。

3)继承与多态,方法的重写以及调用。

二、实验学时数:

2学时

三、实验要求:

1)一个person类作为父类,该类中包含成员变量weight,height;实例方法speakHello(),averageHeight()和averageWeight()。

分别编写ChinaPeople和AmericanPeople两个类继承People类,分别根据提示重写它的三个方法,并在ChinaPeople类中添加chinaGongfu()方法,在AmericanPeople类中添加americanBoxing()方法。

再定义一个主类Example,在主类中创建ChinaPeople和AmericanPeople两个类的对象并调用他们的方法。

2)编写一个类,该类有一个方法

publicintf(inta,intb)//要求该方法返回a和b的最大公约数

{}

然后编写一个该类的子类,要求子类重新写方法,而其重写方法将返回两个整数的最小公倍数。

要求:

重写方法的方法体中首先调用被隐藏的方法返回a和b的最大公约数m,然后将(a*b)/m返回,在应用程序的主类中分别使用父类和子类创建的对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数。

四、实验步骤及结果

1)程序源代码

题1程序源代码

classPeople{

protecteddoubleweight,height;

publicvoidspeakHello(){

System.out.println("yayawawa");

}

publicvoidaverageHeight(){

height=173;

System.out.println("averageheight:

"+height);

}

publicvoidaverageWeight(){

weight=70;

System.out.println("averageweight:

"+weight);

}

}

classChinaPeopleextendsPeople{

publicvoidspeakHello(){

System.out.println("你好,吃饭了吗?

");

}

publicvoidaverageHeight(){

System.out.println("中国人的平均身高:

173.0厘米");

}

publicvoidaverageWeight(){

System.out.println("中国人的平均体重:

67.34公斤");

}

publicvoidchinaGongfu(){

System.out.println("中国武术:

坐如钟,站如松,睡如弓");

}

}

classAmericanPeopleextendsPeople{

publicvoidspeakHello(){

System.out.println("Howdoyoudo");

}

publicvoidaverageHeight(){

System.out.println("AmericanAverageheight:

188.0cm");

}

publicvoidaverageWeight(){

System.out.println("AmericanAverageweight:

80.23kg");

}

publicvoidamericanBoxing(){

System.out.println("美国武术:

直拳、钩拳");

}

}

classBeijingPeopleextendsChinaPeople{

publicvoidspeakHello(){

System.out.println("您好");

}

publicvoidaverageHeight(){

System.out.println("北京人的平均身高:

16.0厘米");

}

publicvoidaverageWeight(){

System.out.println("北京人的平均体重:

6.0公斤");

}

publicvoidbeijingOpera(){

System.out.println("老生");

}

}

publicclassming{

publicstaticvoidmain(Stringargs[]){

ChinaPeoplechinaPeople=newChinaPeople();

AmericanPeopleamericanPeople=newAmericanPeople();

BeijingPeoplebeijingPeople=newBeijingPeople();

chinaPeople.speakHello();

americanPeople.speakHello();

beijingPeople.speakHello();

chinaPeople.averageHeight();

americanPeople.aver

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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