Java实验报告软件学院太原理工.docx

上传人:b****6 文档编号:13153976 上传时间:2023-06-11 格式:DOCX 页数:57 大小:1.79MB
下载 相关 举报
Java实验报告软件学院太原理工.docx_第1页
第1页 / 共57页
Java实验报告软件学院太原理工.docx_第2页
第2页 / 共57页
Java实验报告软件学院太原理工.docx_第3页
第3页 / 共57页
Java实验报告软件学院太原理工.docx_第4页
第4页 / 共57页
Java实验报告软件学院太原理工.docx_第5页
第5页 / 共57页
Java实验报告软件学院太原理工.docx_第6页
第6页 / 共57页
Java实验报告软件学院太原理工.docx_第7页
第7页 / 共57页
Java实验报告软件学院太原理工.docx_第8页
第8页 / 共57页
Java实验报告软件学院太原理工.docx_第9页
第9页 / 共57页
Java实验报告软件学院太原理工.docx_第10页
第10页 / 共57页
Java实验报告软件学院太原理工.docx_第11页
第11页 / 共57页
Java实验报告软件学院太原理工.docx_第12页
第12页 / 共57页
Java实验报告软件学院太原理工.docx_第13页
第13页 / 共57页
Java实验报告软件学院太原理工.docx_第14页
第14页 / 共57页
Java实验报告软件学院太原理工.docx_第15页
第15页 / 共57页
Java实验报告软件学院太原理工.docx_第16页
第16页 / 共57页
Java实验报告软件学院太原理工.docx_第17页
第17页 / 共57页
Java实验报告软件学院太原理工.docx_第18页
第18页 / 共57页
Java实验报告软件学院太原理工.docx_第19页
第19页 / 共57页
Java实验报告软件学院太原理工.docx_第20页
第20页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java实验报告软件学院太原理工.docx

《Java实验报告软件学院太原理工.docx》由会员分享,可在线阅读,更多相关《Java实验报告软件学院太原理工.docx(57页珍藏版)》请在冰点文库上搜索。

Java实验报告软件学院太原理工.docx

Java实验报告软件学院太原理工

本科实验报告

 

课程名称:

Java程序设计

实验项目:

八个实验

实验地点:

专业班级:

学号:

学生姓名:

指导教师:

 

2013年月日

 

实验1Java语言基础

1.实验目的

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

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

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

2.实验内容

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

实验源代码:

packagesum;

publicclassSum{

publicstaticvoidmain(String[]args){

intsum=0;

inti;

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

{

if(i%2==0)sum+=i;

}

System.out.println(sum);

}

}

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

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

实验源代码:

packagesum.Water;

importjava.util.Scanner;

publicclassWaterFlower{

publicstaticvoidmain(String[]args){

inta,b,c;

intnumber;

//System.out.println("请输入一个水仙花数");

Scannerscanner=newScanner(System.in);

number=scanner.nextInt();

scanner.close();

a=number%10;

b=number%100/10;

c=number/100;

if((a*a*a+b*b*b+c*c*c)==number)System.out.println("该数是水仙花数");

elseSystem.out.println("该数不是水仙花数");

}

}

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

实验源代码:

packagesushu;

publicclasssunumber{

publicstaticvoidmain(String[]args){

inti;

intj;

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

{

for(j=2;j

if(i%j==0){break;}

if(j>=i)System.out.print(i+"");

}

}

}

(4)有一函数:

x(x<1)

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

4x(x≥10)

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

实验源代码:

packageFuction;

importjava.util.Scanner;

publicclassfuction{

publicstaticvoidmain(String[]args)

{

intx;

inty;

Scannerscanner=newScanner(System.in);

System.out.println("请输入X的值");

x=scanner.nextInt();

if(x<1)y=x;

elseif(x>=1&&x<=10)y=3*x-2;

elsey=4*x;

System.out.println("y的值为"+y);

}

}

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

☆☆☆

☆☆☆☆☆

☆☆☆☆☆☆☆

☆☆☆☆☆

☆☆☆

实验源代码:

packageStar;

publicclassExp20{

publicstaticvoidmain(String[]args){

finalintsize=4;

for(inti=1;i<=size;i++){

for(intj=i;j

System.out.print("");

}

for(intk=1;k<=2*i-1;k++){

System.out.print("☆");

}

System.out.println();

}

for(inti=size-1;i>=1;i--){

for(intj=1;j<=size-i;j++){

System.out.print("");

}

for(intk=2*i-1;k>0;k--){

System.out.print("☆");

}

System.out.println();

}

}

}

(6)编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。

判断年是否为闰年的条件是:

①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。

packagerunyear;

实验源代码:

publicclassrunyear{

publicstaticvoidmain(String[]args){

intx;

inti=0;

for(x=1900;x<=2100;x++)

{

if(x%400==0||(x%4==0&&x%100!

=0))

{System.out.print(x+"");

i++;

}

if(i%5==0)System.out.println();

}

}

}

3.实验预习

(1)复习本章所学内容。

(2)写出实验内容中第

(2)、(3)题两个程序的源代码,作为预习报告。

4.实验结果

实验截图:

1、

2、

3、

4、

5、

6、

5、实验心得体会

通过实验一几个JAVA小程序的训练,我不仅巩固了先前所学的有关编程的知识,而且还提高自己解决问题的能力,编程能力有了很大的提高。

会做简单的java程序设计。

Java程序的设计过程应该是认真细致的。

在完成要求之前,先做做例题。

这同时也是自己熟悉java语言规则及其编译器的过程。

 

实验2数组和字符串编程

1.实验目的

(1)通过实验,掌握Java语言中数组、字符串程序设计的基本方法。

(2)较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。

2.实验内容

(1)编写一个程序,在控制台输入10个数,按大小顺序输出。

实验源代码:

packageorder;

importjava.util.Scanner;

publicclassorder{

publicstaticvoidmain(String[]args){

int[]number=newint[10];

inti,j,temp;

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

{

Scannerscanner=newScanner(System.in);

number[i]=scanner.nextInt();

}

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

{

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

{

if(number[j]>number[j+1])

{

temp=number[j];

number[j]=number[j+1];

number[j+1]=temp;

}

}

}

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

System.out.print(number[i]+"");

}

}

(2)求一个3*3矩阵对角线元素之和。

实验源代码:

packageRectangle;

importjava.util.Scanner;

publicclassRectangle{

publicstaticvoidmain(String[]args)

{

int[][]number=newint[3][3];

inti,j;

intsum=0;

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

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

{

Scannerscanner=newScanner(System.in);

number[i][j]=scanner.nextInt();

}

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

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

{

if(i==j)sum+=number[i][j];continue;

}

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

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

{

System.out.print(sum);

}

}

}

 

(3)输入一段字符串,统计其中有多少个单词。

(单词用空格隔开)

packagewords;

importjava.util.Scanner;

publicclasswordstongji{

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

System.out.print("请输入:

");

Stringsentence=input.nextLine();

String[]words=sentence.split("");

System.out.println("共有"+words.length+"个单词.");

}

}

3.实验预习

(1)将本章所学内容要点进行整理,并认真体会例题中的编程要领。

(2)写出实验内容中第

(2)、(3)题两个程序的源代码,作为预习报告。

4.实验结果

实验截图:

1、

2、

3、

5、实验心得体会

通过实验,掌握了Java语言中数组、字符串程序设计的基本方法。

并且较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。

提高了自己的编程能力,同时在实验过程中有时会遇到一些因粗心而产生的小错误,在今后编程过程中,一定要培养自己细心的习惯。

 

实验3Java面向对象程序设计

1.实验目的

掌握Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。

2.实验内容

(1)创建一个复数类complex,以附属进行数学运算、复数具有如下格式:

RealPart+ImaginaryRart*I,其中,I为-1的平方根。

要求如下:

1 利用浮点变量表示此类的私有数据。

提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。

2 提供两复数加、减、乘的运算方法。

3 按格式(a,b)打印复数。

其中a为实部,b为虚部。

实验源代码:

packagecomplex;

classComplex{

privateintRealpart;

privateintImaginarypart;

privateComplexz;

privateComplexz2;

privateComplexz3;

publicComplex(intx,inty)

{

Realpart=x;

Imaginarypart=y;

}

publicComplex(){

Realpart=0;

Imaginarypart=0;

}

publicComplexadd(Complexx){

z=null;

z.Realpart=x.Realpart+Realpart;

z.Imaginarypart=x.Imaginarypart+Imaginarypart;

returnthis;

}

publicComplexsub(Complexx){

z3=null;

z3.Realpart=x.Realpart-Realpart;

z3.Imaginarypart=x.Imaginarypart-Imaginarypart;

returnthis;

}

publicComplexmulti(Complexx){

z2=null;

z2.Realpart=x.Realpart*Realpart;

z2.Imaginarypart=x.Imaginarypart*Imaginarypart;

returnthis;

}

publicvoidprint()

{

System.out.println("("+Realpart+","+Imaginarypart+")");

}

}

 

publicclassEx_3_complex{

publicstaticvoidmain(String[]args){

Complexcomplex1=newComplex(1,1);

Complexcomplex2=newComplex(2,2);

Complexcomplex3=newComplex(3,3);

complex3.add(complex1);

System.out.println("两复数相加的结果为:

");

complex3.print();

complex1.sub(complex1);

System.out.println("两复数相减的结果为:

");

complex1.print();

complex2.multi(complex1);

System.out.println("两复数相乘的结果为:

");

complex2.print();

}}

(2)创建银行账号Account类,实现存款(balance)的存(deposit)、取(withdraw)和查询(getbalance)等功能。

实验源代码:

publicclassAccount{

privatefloatbalance;

publicvoiddeposit(floatx){

balance+=x;

}

publicvoidwithdraw(floatx){

balance=balance-x;

}

publicvoidgetbalance()

{

System.out.print("您的存款金额为:

"+balance);

}

}

(3)编程定义一个接口,实现三个数中求最小值和最大值的方法,并将程序存放在mymaths包中。

(4)编程实现以下简单超市管理,具体要求如下:

1 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果;

2 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。

3 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作

提示:

①超市货架可以使用商品数组,数组大小100表明存放100个商品。

②注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。

实验源代码:

packagesupermarket;

publicclassEx_supermarket{

publicstaticvoidmain(String[]args){

marketgood=newmarket(100,"第二货架");

Goodsgood1=newGoods(23,"大豆豆牌洗面奶","山西太原",100);

System.out.println("该商品的数量为"+good.check());

System.out.println("该商品的位置在"+good.query());

good1.Sale();

good1.Add(100);

good1.ShowMe();

try

{

if(good1.Goodsnumber>200)

thrownewException("商品数量超出剩余数量");

}catch(Exceptione){

e.printStackTrace();

}

}

}

classmarket{

publicintgoodsnumber;

publicStringlocation;

publicmarket(intx,Stringy){

goodsnumber=x;

location=y;

}

publicintcheck(){

returngoodsnumber;

}

publicStringquery(){

returnlocation;

}

}

classGoods{

publicintPrice;

publicStringName;

publicStringproducer;

publicintGoodsnumber;

publicGoods(intx,Stringy,Stringz,intw){

Price=x;

Name=y;

producer=z;

Goodsnumber=w;

}

publicvoidSale(){

if(Goodsnumber<10)System.out.print("商品数量不足");

}

publicvoidAdd(inta){

Goodsnumber+=a;

}

publicvoidShowMe()

{

System.out.println("该商品的名称为:

"+Name);

System.out.println("该商品的价格为:

"+Price);

System.out.println("该商品的生产地为:

"+producer);

System.out.println("该商品的数量为"+Goodsnumber);

}

}

3.实验预习要求

复习本章所学内容,思考以下问题:

(1)什么是对象?

什么是类?

(2)面向对象编程的特性有哪三个?

它们各自有哪些特性?

(3)Java语言在面向对象编程方面有哪些独特的特点?

(4)抽象类与接口有何异同?

4.实验结果

1、

4、

5、实验心得体会

通过实验,掌握了Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。

经过这次实验我发现自己在知识方面还有很多的不足,在平时的练习中也不懂得扩展与举一反三,导致这次的实验做得马马虎虎,除此之外也体会到了面向对象程序设计相对于过程化程序设计的优越性,总之,语言是一门技巧,要想能熟练掌握,必须多加练习。

 

实验4Java异常处理

1.实验目的

掌握异常的概念,以及如何定义、抛出和捕获处理异常。

2.实验内容

(1)做实验之前要求思考以下问题,作为预习内容;

1 错误和异常有何区别?

查看Java异常类的关系图。

2 异常是如何抛出、捕获和处理的?

3 Java捕获和处理异常的结构式怎样的?

4 Try语句如何嵌套?

Trow语句有何作用?

Finally程序快的作用是什么?

(2)运行下面的程序,理解异常的抛出、捕获与处理。

Importjava.io.*;

publicclassvoidmain(Stringargs[]){

publicstaicvoidmain(Stringargs[]){

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

intk;

try{

switch(i){

case0:

//dividedbyzero

intzero=0;

k=911//zero

break;

case1:

//nullpointer

intb[]=null;

k=b[0];

break;

case2;//arrayindexoutofbound

intc[]=newint[2];

k=c[9];

break;

case3:

//stringindexoutofbound

charch="abc".charAt(99);

break;

}

}catch(Exceptione){

System.out.println("\nTestcase#"+i+"\n");

System.out.println(e);

}

}

}

}

(3)在实验三中的超市、商品类中创建一个自定义异常类。

要求:

在定义商品类时,若销售商品数量大于余额则作为异常处理(InsufficientFundsException)。

提示:

1 产生异常条件是某类商品销售数量大于库存额,因此是否抛出异常要先判断该条件。

2 确定产生异常的方法,应该在sale方法中产生异常InsufficientFundsException。

3 处理异常安排在调用sale的时候,因此sale方法要声明异常,由上级方法捕获并处理。

4 要定义好自己的异常。

实验源代码:

packagesupermarket;

 

publicclassEx_supermarket{

publicstaticvoidmain(String[]args){

marketgood=newmarket(100,"第二货架");

Goodsgood1=newGoods(23,"大豆豆牌洗面奶","山西太原",100);

System.out.println("该商品的数量为"+good.check());

System.out.println("该商品的位置在"+good.query());

good1.Sale();

good1.Add(100);

good1.ShowMe();

try

{

if(good1.Goodsnumber>200)

thrownewException("商品数量超

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2