java实验报告实验1答案.docx
- 文档编号:24758320
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:484.25KB
java实验报告实验1答案.docx
《java实验报告实验1答案.docx》由会员分享,可在线阅读,更多相关《java实验报告实验1答案.docx(21页珍藏版)》请在冰豆网上搜索。
java实验报告实验1答案
实验一熟悉NetBeansIDE平台,开发环境及Java编程
实验目的:
1、我们使用的开发平台是NetBeansIDE,希望通过本次实验同学们能对NetBeansIDE的开发环境有一个清楚的了解并能熟练运用,对Java语法进行初步运用,对面向对象的编程有一个直观的认识和深入理解,对于Java的基础知识进行理解运用和巩固。
为以后的实验中能够进行开发程序打下基础。
2、通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP方式进行程序设计的方法,了解类的继承性和多态性的作用。
实验内容:
●1.编写一个体现面向对象思想的程序。
●2.编写一个创建对象和使用对象的方法的程序。
●3.编写一个显示当前日期和时间的程序。
●4.编写不同成员变量修饰方法的程序。
●5.编写不同成员方法修饰方法的程序。
●6.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
●7.编写体现类的多态性(成员方法重载、构造方法重载)的程序。
实验步骤:
●双击桌面上的NetBeansIDE6.5.1快捷方式或在文件菜单中打开它。
图1-1
点击文件,创建新项目,创建一个项目名:
experiment1。
点击按钮下一步:
在项目名称处输入:
experiment1然后点击完成:
项目experiment1
在experiment1下实现
程序
样例1:
编写应用程序输出如下三角形。
*
***
*****
*******
【参考程序】
publicclassStar
{
publicstaticvoidmain(Stringa[])
{
System.out.println(" *");
System.out.println("***");
System.out.println("*****");
System.out.println("*******");
}
}
程序运行结果如图1-2所示。
【编程技巧】
(1)main方法是应用程序执行入口;
(2)如何在命令控制台输出字符串。
(3)输出杨辉三角的前10行;进一步用参数传递的方式输出,例如,shuchu(n)表示输出杨辉三角的前n行。
样例2:
编写Applet程序绘制一个红色三角形,三角形中央绘制兰色文字“三角形”。
【参考程序】
(1)Applet程序
importjava.awt.*;
importjava.applet.Applet;
publicclasstriangleextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.setColor(Color.red); //设置画笔颜色为红色
g.drawLine(80,20,20,100);
g.drawLine(20,100,140,100);
g.drawLine(140,100,80,20);
g.setColor(Color.blue); //设置画笔颜色为兰色
g.drawString("三角形",65,80);
}
}
【编程技巧】
(1)如何引入某个包的类;
(2)编写Applet程序要继承Applet类;
(3)paint方法会自动执行,用画笔对象可绘制图形。
(2)HTML文件
用appletviewer查看程序运行结果如图1-3所示。
样例3:
(创建并使用对象)
1.编写Applet程序
(1)程序功能
这个Applet程序要在页面上输出两个矩形,并伴有文字输出。
(2)LX3.java程序的源代码如下:
importjava.awt.*;
importjava.applet.Applet;
publicclassLX3extendsApplet
{
MyBoxb1=newMyBox();//创建对象b1
MyBoxb2=newMyBox(170,20,60,60);//创建对象b2
publicvoidpaint(Graphicsg)
{
b1.setPosition(20,20);
b1.setSize(60,60);
b1.draw(g);
g.drawString("矩形1的X位置:
"+b1.getX(),20,100);
g.drawString("矩形1的Y位置:
"+b1.getY(),20,120);
b2.draw(g);
g.drawString("矩形2的X位置:
"+b2.getX(),b2.getX(),b2.getY()+80);g.drawString("矩形2的Y位置:
"+b2.getY(),b2.getX(),b2.getY()+100);
}
}
classMyBox
{
privateintx,y,width,height;
MyBox()
{
x=0;
y=0;
width=0;
height=0;
}
MyBox(intxPos,intyPos,intw,inth)
{
x=xPos;
y=yPos;
width=w;
height=h;
}
publicvoidsetPosition(intxPos,intyPos)
{
x=xPos;
y=yPos;
}
publicvoidsetSize(intw,inth)
{
width=w;
height=h;
}
publicintgetX()
{
returnx;
}
publicintgetY()
{
returny;
}
publicvoiddraw(Graphicsg)
{
g.drawRect(x,y,width,height);
}
}
2.编写一个浏览Applet应用程序的页面文件LX3_2.HTML
3.将LX3_2.java源程序编译为LX3.class文件
4.使用浏览器或使用小程序查看器浏览LX3.HTML文件(即在命令提示符下输入:
appletviewerLX3.HTML),运行结果如图2.2所示。
图2.2
思考:
程序的结构。
类与对象的关系。
对象创建、使用、销毁的过程。
上机练习
✧ 基本题
1)编写一个程序输出如下图案
*****************************
********
********
********
**************
**********
**********
**********
*******************
代码:
classprint
{
publicstaticvoidmain(String[]args)
{
System.out.println("*****************************");
System.out.println("********");
System.out.println("********");
System.out.println("********");
System.out.println("**************");
System.out.println("**********");
System.out.println("**********");
System.out.println("**********");
System.out.println("*******************");
}
}
结果如下图:
2)编制applet程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。
代码:
importjava.awt.*;
importjava.applet.Applet;
publicclassjuxingextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.setColor(Color.red);//设置画笔颜色为红色
g.drawLine(20,20,20,100);
g.drawLine(20,20,140,20);
g.drawLine(140,20,140,100);
g.drawLine(140,100,20,100);
g.setColor(Color.blue);
g.drawOval(20,20,120,80);
}
}
✧ 提高题
1)编写一个应用程序绘制一个如下的操作菜单。
*****************************
| 1.增加1个学生 |
| 2.显示所有学生 |
| 3.退出程序 |
| 请输入选择(1-3):
|
*****************************
代码:
publicclasscaidan
{
publicstaticvoidmain(String[]args)
{
System.out.println("*****************************");
System.out.println("|1.增加1个学生|");
System.out.println("|2.显示所有学生|");
System.out.println("|3.退出程序|");
System.out.println("|请输入选择(1-3):
|");
System.out.println("*****************************");
}
}
结果如下图:
2)创建一个applet程序,绘制两个同心圆,园心显示“同心”两个汉字。
代码:
importjava.awt.*;
importjava.applet.Applet;
publicclassyuanextendsApplet
{
publicvoidpaint(Graphicsg)
{
g.setColor(Color.red);//设置画笔颜色为红色
g.drawOval(20,20,80,80);
g.drawOval(10,10,100,100);
g.drawString("同心",60,60);
}
}
3)下面的例子将建立雇员信息类EmpInfo,并实例化对象,然后打印出若干信息。
代码:
publicclassEmpInfo
{
Stringname="Robert";//雇员的姓名
Stringdesignation="Manager";//雇员的职务
Stringdepartment="CoffeeShop";//雇员的部门
voidprint()
{//成员方法
System.out.println(name+"is"+designation+"at"+department);
}
publicstaticvoidmain(String[]args)
{
EmpInfoa=newEmpInfo();
a.print();
}
}
运行结果如下:
RobertJavamanisManageratCoffeeShop
把程序写完整,体现成员变量、方法、类和对象的定义和使用。
完整代码
publicclassEmpInfo
{
Stringname="Robert";//雇员的姓名
Stringdesignation="Manager";//雇员的职务
Stringdepartment="CoffeeShop";//雇员的部门
voidprint()
{//成员方法
System.out.println(name+"is"+designation+"at"+department);
}
publicstaticvoidmain(String[]args)
{
EmpInfoa=newEmpInfo();
a.print();
}
}
结果如下图:
4)书本P42练习。
P46练习。
第三章课后习题。
代码:
(1)多态:
publicclassduotai
{
duotai()
{
System.out.println("这是没有参数的情况。
");
}
duotai(inta,intb)
{
intc;
c=a+b;
System.out.println(a+"+"+b+"="+c+"(整数和整数的情况。
)");
}
duotai(inta,Stringb)
{
System.out.println(a+b+"(整数和字符串的情况。
)");
}
duotai(Stringa,Stringb)
{
System.out.println(a+b+"(字符串和字符串的情况。
)");
}
publicstaticvoidmain(String[]agrs)
{
duotais1,s2,s3,s4;
s1=newduotai();
s2=newduotai(11,12);
s3=newduotai(10,"eggs");
s4=newduotai("abc","efg");
}
}
(2)方法:
publicclassFangFa
{
intyear=1989;
intmonth=03;
intday=17;
inthour;
intminute;
intsecond;
//有参构造方法
FangFa(inthour,intminute,intsecond)
{
this.hour=hour;
this.minute=minute;
this.second=second;
System.out.println("现在是"+hour+"时"+minute+"分"+second+"秒。
"+"(---这是有参构造方法)");
}
//无参构造方法
FangFa()
{
System.out.println("现在是"+year+"年"+month+"月"+day+"日。
"+"(---这是无参构造方法)");
}
publicstaticvoidmain(String[]args)
{
FangFaS2;
S2=newFangFa();
FangFaS1=newFangFa(20,20,20);
}
}
(3)继承:
classfather
{
inta;
father(inta)
{
this.a=a;
}
}
publicclasssonextendsfather
{
intb;
son(inta,intb)
{
super(a);
this.b=b;
}
publicstaticvoidmain(String[]args)
{
sons=newson(1,2);
System.out.println(s.a);
System.out.println(s.b);
}
}
思考题
1)以下哪个是Java应用程序main方法的有效定义?
(C)
A.publicstaticvoidmain();
B.publicstaticvoidmain(Stringargs);
C.publicstaticvoidmain(Stringargs[]);
D.publicstaticvoidmain(Graphicsg);
E.publicstaticbooleanmain(Stringa[]);
2)编译和运行以下代码的结果为:
(D)
publicclassMyMain
{
publicstaticvoidmain(Stringargv)
{
System.out.println("Hellocruelworld");
}
}
A.编译错误;
B.运行输出"Hellocruelworld";
C.编译无错,但运行时指示没有定义构造方法。
D.编译无错,但运行时指示没有正确定义main方法。
3)下列选项中不属于Java虚拟机的执行特点的一项是:
(D)
A.异常处理 B.多线程 C.动态链接 D.简单易学
4)不属于Java语言特点的一项是:
(C)
A.分布式 B.安全性 C.编译执行 D.面向对象
5)以下程序的运行结果为:
(B)
publicclassTest
{
publicstaticvoidmain(Stringargv[])
{
System.out.println("x="+5);
}
}
A.5 B.x=5 C."x="+5 D."x="5
6)以下程序的运行结果为:
(A)
publicclassTest
{
publicstaticvoidmain(Stringargv[])
{
System.out.println("good"+"morning");
}
}
A.goodmorning B."good"+"morning"
C.goodmorning D.good+morning
实验总结
这次实验所使用的开发平台是NetBeansIDE,通过本次实验我们要对NetBeansIDE的开发环境有一个清楚的了解并能够熟练运用。
同时对Java语法有初步运用。
课堂上老师讲的语法比较抽象,所以只有在实验中应用我们才能深刻体会到java语言的强大。
面向对象是java语言最重要的特征,通过编程我们对它有一个比较直观的认识和理解。
实验是课堂知识学习的一个体现,课堂知识掌握的一个巩固,只有对Java的基础知识有了比较深的理解运用和巩固,我们在以后的实验中进行开发程序时才能得心应手。
通过这次实验我们理解了Java语言是如何充分体现面向对象程序编程的基本思想,,以及如何创建类和对象。
我们还了解了成员变量和成员方法的特性,并掌握就OOP方式进行程序设计的方法。
虽然我们在实验过程中对这些代码并不是很清楚,有些地方还不明白,但通过以后的学习,我想我会越来越清楚。
我们通过这次实验对java有了比较基本的认识,发现它没有想象中那么难,这对我们以后的学习增加了不少的信心和兴趣。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验 报告 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)