java实验报告Word文档格式.docx
《java实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《java实验报告Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
判断年是否为闰年的条件是:
①若年号可以被4整除,而不能被100整除,
则是闰年;
②若年号可以被400整除,也是闰年。
三、主要仪器设备
使用的计算机惠普:
硬件配置Win7、软件环境eclipse
四、实验代码
1.publicclassal{
publicstaticvoidmain(String[]args){
inti,sum=0;
for(i=0;
i<
=100;
i++){
if(i%2==0)
sum+=i;
}
Syst
}}
2.publicclassa2{
inti,a,b,c;
for(i=100;
=999;
a=i%10;
b=(i-a)%100/10;
c=(i-b*10-a)/100;
if(i==a*a*a+b*b*b+c*c*c){
}}}}
3.publicclassa3{publicstaticvoidmain(String[]args){
publicclassa4{publicstaticvoidmain(String[]args){inti,j;
for(i=1;
=4;
for(j=1;
j<
=((-1)*i+4);
j++)
=(2*i-1);
for(i=3;
i>
=1;
i--){for(j=1;
j++)for(j=1;
☆"
);
5.import.*;
publicclassa5{
Scannerx=newScanner;
inti=();
();
6.packageshiyan;
publicclassa6{
inti,j=0;
for(i=1900;
=2100;
if((i%4==0)&
&
(i%100!
=0)||(i%400==0)){j++;
if(j%5==0)
else{
五、实验结果
1.
2.
3.
4.
5.
6.
六、讨论、心得
初步掌握了Eclipse集成开发环境。
掌握Java基本数据类型、运算符与表达式、数组的使用方法,语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。
、对JAVA程序设计有初步的了解
实验二数组和字符串编程
一、实验目的和要求
(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。
(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。
(1)编写一个程序,在控制台输入10个数,按大小顺序输出。
(2)求一个3*3矩阵对角元素之和。
(3)输入一段字符串,统计其中有多少个单词。
(单词用空格隔开)
1、packagea1;
import
publicclassa1{
publicstaticvoidmain(String[]args)throwsIOException{intcount=10,k;
doubledata[]=newdouble[count];
Scannersr=newScanner;
for(k=0;
k<
count;
k++){data[k]=();
count;
k++)
Sys
double[]dataCopy=newdouble[count+1];
doubletemp=0;
(data,0,dataCopy,1,;
for(k=1;
for(intj=1;
jv=count-k;
j++){if(dataCopy[j]>
dataCopy[j+1]){temp=dataCopy[j];
dataCopy[j]=dataCopy[j+1];
dataCopy[j+1]=temp;
}for(intj=1;
;
j++){
2、
packagea1;
import.*;
publicclassa2{
publicstaticvoidmain(String[]args)throwsIOException{doublea[][];
intsum=0;
a=newdouble[3][3];
Seannersr=newSeanner;
for(inti=0;
3;
i++)
for(intj=0;
a[i][j]=();
for(intj=0;
if(i==j)
sum+=a[i][j];
3、
publicclassa3{
publicstaticvoidmain(String[]args){
Scannersr=newScanner;
Stringword=newString();
word=();
String[]words=("
"
intnum=;
五、实验结果
电|湘比聞4al|Z1Uw申口初丽|吋ij血叶g.ew爭1耳阳下宰?
玄知附
请输只幵数字乂
34S46564534345343435633
休输入的十个数字是;
34-054.01656,045.0343-045.034.0343.056.033.0
从小到大排序后的序列是:
33左34,034.045.045』54.056.0343,0343冷656.0
六、实验心得
通过本次实验掌握数组的声明、分配空间及初始化;
理解多维数组(重点掌握二维);
掌握String类的特点及常用方法的使用;
掌握StringBuffer类的特点及常用方法的使用;
掌握String类和StringBuffer类的区别;
掌握equal方法与==的区别;
但是本次练习中,我也出现了一些错误,是由于知识上的失误和不小心犯下的低级错误,但是我努力改正。
实验三Java面向对象程序设计
掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟
练应用方法、类、成员变量等元素。
1.创建一个复数类complex,以附属进行数学运算、复数具有如下格式:
RealPart+lmaginaryRart*l,其中,I为-1的平方根。
要求如下:
1利用浮点变量表示此类的私有数据。
提供两个构造方法,一个用于此类声明的对象的初始化;
一个为默认的无参构造方法。
2提供两复数加、减、乘的运算方法。
3按格式(a,b)打印复数。
其中a为实部,b为虚部。
2.创建银行账号Account类,实现存款(balanee)的存(deposit)、取(withdraw)和查询(getbalanee)等功能。
3.编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths
包中。
4.编程实现以下简单超市管理,具体要求如下:
1实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;
2定义商品类Goods,具有商品名称Name商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
3main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作
提示:
①超市货架可以使用商品数组,数组大小100表明存放100个商品。
②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数
1.packagea1;
publicclassComplex{
floatRealPart;
floatImaginaryRart;
publicComplex(){}
publicComplex(floatR,floatl){
RealPart=R;
ImaginaryRart=I;
publicstaticComplexadd(Complexa,Complexb){Complexc=newComplex();
=+;
returnc;
publicComplexminus(Complexa,Complexb){Complexc=newComplex();
==returnc;
publicComplexmultiply(Complexa,Complexb){Complexc=newComplex();
=*=*+*;
——门
publicvoidprint(){
publicstaticvoidmain(String[]args){Complexa=newComplex(1f,3f);
Complexb=newComplex(3f,4f);
Complexc=newComplex();
c=add(a,b);
2.packageshiyan;
import.*;
classAccount{
privatedoublebalanee;
Account(){
balance=5000;
publicvoiddeposit(doublen){
balance=balance+n;
publicvoidwithdraw(doublen){
balance=balance-n;
publicvoidgetbalance(){
Accountc=newAccount();
Scannersc=newScanner;
doublei=();
(i);
();
doublex=();
(x);
packagemymaths;
publicinterfaceMyinterface{intmax(inta,intb,intc);
intmin(inta,intb,intc);
classZzrimplementsMyinterface{
publicintmax(inta,intb,intc){inttemp;
if(a<
b)
temp=b;
elsetemp=a;
if(temp>
c)returntemp;
elsereturnc;
publicintmin(inta,intb,intc){
inttemp;
temp=a;
elsetemp=b;
if(temp>
c)returnc;
elsereturntemp;
packagemymaths;
publicclassinterfaceTest{
intx,y;
Zzrc=newZzr();
x=(3,5,8);
y=(6,8,9);
4.packagea1;
classBase{
publicstaticGoods[]All=newGoods[2];
howMe();
本次实验让我了解到想用程序解决实际问题时,最好写出三种代码:
伪代
码、产品代码、测试代码,这样才能快速的写出代码,并且实用性强。
希
实验四Java异常处理
掌握异常的概念,以及如何定义、抛出和捕获处理异常。
1.做实验之前要求思考以下问题,作为预习内容;
1错误和异常有何区别查看Java异常类的关系图。
2异常是如何抛出、捕获和处理的
3Java捕获和处理异常的结构式怎样的
4Try语句如何嵌套Trow语句有何作用Finally程序快的作用是什么
2•运行下面的程序,理解异常的抛出、捕获与处理。
Import.*;
publicclassvoidmain(Stringargs[]){
publicstaicvoidmain(Stringargs[]){
for(inti=0;
4;
intk;
try{
switch(i){
case0:
harAt(99);
break;
}catch(Exceptione){
3.在实验三中的超市、商品类中创建一个自定义异常类。
要求:
在定义商品类时,若销售商品数量大于余额则作为异常处理
(InsufficientFundsException)。
1产生异常条件是某类商品销售数量大于库存额,因此是否抛出异常要
先判断该条件。
2确定产生异常的方法,应该在sale方法中产生异常Insufficient
FundsException。
3处理异常安排在调用sale的时候,因此sale方法要声明异常,由上级方法捕获并处理。
4要定义好自己的异常。
四、实验代码
.1.
(1)错误与异常的区别:
错误:
指在程序编译时如果程序进入死循环,或递归无法结束,或内存溢出。
错误只能在编程阶段解决,只能依靠其他程序干预,否则会一直处于非正常状态。
异常:
指运算时除数为0,或操作数超过范围,或打幵一个文件时发现文件并不存在,或欲装入的类文件丢失,或网络连接中断等。
(2)java提供了一种利用简单易行的方法检查和处理运行时产生的
错误的异常处理机制,它是通过面向对象的方法来处理异常的。
在java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。
生成的异常对象将传递给java运行时系统,这一
异常的产生和提交过程成为抛弃异常。
当java运行时系统得到
一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。
找到能够处理这类异常的方法后,运行时
系统把当前异常对象交给这个方法进行处理,这一过程称为捕获异常。
(3)根据程序对错误与异常的处理方式,可以将java中的异常分
为Error类,RuntimeException类禾口Exception类。
其中Error类包括的是一些严重的程序不能处理的系统错误类,如内存溢
出,虚拟机错误,栈溢出等。
这类错误一般主要与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无需去捕获
和处理。
程序运行过程中,可能出现RuntimeException类的异
常数量相当大,对于运行时的异常类,如数组越界,算术异常等,应通过程序尽量避免而不是去捕获它。
(4)为了避免程序运行时可能出现的错误,将程序代码放在try程
序块中,紧跟在try语句后面包括一个catch语句,用来指定需要捕获的异常类型。
在程序中发生异常时,程序员可以抛出(throw)—个自定义异常类的实例,将其放到异常队列中去,并激活java的异常处理机制。
当抛出一个异常时,程序的执行就不再是线性的,这样就有可
能导致方法的执行中断。
在java语言中,使用finally语句来
解决此类问题。
Finally语句创建一个代码块,在try/catch语句执行后执行,不管是否抛出一个异常,系统都将执行finally语句的程序代码。
3.packageshiyan;
publicclassa1{
publicstaticvoidmain(Stringargs[]){
try{
Shopsh=newShop(100);
(200);
}catch(InsufficientFundsExceptione){
classShop{
intnum;
Shop(intnum){
=num;
publicvoiddepositedntdAmount){
num+=dAmount;
publicvoidsale(intdAmount)throws
InsufficientFundsException{
if(num<
dAmount)
thrownewInsufficientFundsException();
num=num-dAmount;
classInsufficientFundsExceptionextendsException{privatestaticfinallongserialVersionUID=1L;
InsufficientFundsException(){
super("
商品销售数量大于库存额!
);
通过本次实验,熟悉掌握了Java的异常机制,try{}catch(){}finally{}
的执行过程。
通过new—个数组,从而通过数组的下标取出内容,当下标不合法时就会出现数组下标越界异常。
通过catch捕获异常,并对异常作
出处理。
再通过将一个字符串的大写字母转换成小写字母,练习String的
常用方法。
同时了解了字符串的使用。
这仅仅是简单异常的处理,必须更进一步对异常熟悉。
还有对字符串的其他方法进行练习并熟悉掌握。
还需要在课下多多练习,熟悉它们。
实验五多线程编程
(1)现成的概念、线程的生命周期。
⑵多线程的编程:
扩展Thread类与使用Runnable接口。
(3)使用多线程机制实现动画
1.运行下面的程序,理解用创建Thread子类的方法实现多线程。
J
classS09_01_ThreadextendsThread{
intpauseTime;
Stringname;
publicS09_01_Thread(intx,Stringn){
pauseTime=x;
name=n;
publicvoidrun(){
while(true){
(pauseTime);
staticpublicvoidmain(Stringsrgs[]){
S09_01_Threadtp仁newS09_01_Thread(1000,"
Fast"
S09_01_Threadtp2=newS09_01_Thread(3000,"
Slow"
2.运行下面的程序,理解用实现Runnable接口的方法实现多线程。
classS09_02_ThreadimplementsRunnable{
publicS09_02_Thread(intx,Stringn){
Threadt1=newThread(newS09_02_Thread(1000,"
));
Threadt2=newThread(newS09_02_Thread(3000,"
__
3.创建简单的程序,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。
三、主要仪器设备
3.packagemymaths;
publicclassXianchengextendsThread{
publicstatic
void
main(String[]args){
Xiancheng
t1=
:
newXiancheng();
t2=
t3=