太原理工大学java实验报告.docx

上传人:b****5 文档编号:6615581 上传时间:2023-01-08 格式:DOCX 页数:34 大小:224.14KB
下载 相关 举报
太原理工大学java实验报告.docx_第1页
第1页 / 共34页
太原理工大学java实验报告.docx_第2页
第2页 / 共34页
太原理工大学java实验报告.docx_第3页
第3页 / 共34页
太原理工大学java实验报告.docx_第4页
第4页 / 共34页
太原理工大学java实验报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

太原理工大学java实验报告.docx

《太原理工大学java实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学java实验报告.docx(34页珍藏版)》请在冰豆网上搜索。

太原理工大学java实验报告.docx

太原理工大学java实验报告

本科实验报告

 

课程名称:

Java语言程序设计

实验项目:

Java实验

实验地点:

致远楼

专业班级:

软件学号:

201500

学生姓名:

指导教师:

2017年1月

实验1Java语言基础

1.实验目的

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

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

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

2.实验内容

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

packagefirst;

publicclassf1{

publicstaticvoidmain(Strings[])

{

intsum=0;

for(inti=0;i<=100;i=i+2)sum=sum+i;

System.out.println("和为"+sum);

}

}

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

packagetest1;

publicclassf3{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

System.out.println("100内的素数为:

");

loop:

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

{

for(intj=2;j

{

if(i%j==0)

{

continueloop;

}

}

System.out.print(""+i);

}

}

}

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

☆☆☆

☆☆☆☆☆

☆☆☆☆☆☆☆

☆☆☆☆☆

☆☆☆

packagetest1;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

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

for(intk=0;k<=4-i;k++){

System.out.print("");

}

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

System.out.print("☆");

}

System.out.println();

}

for(inti=3;i>0;i--){

for(intk=0;k<=4-i;k++){

System.out.print("");

}

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

System.out.print("☆");

}

System.out.println();}

}

}

3.实验预习

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

(2)写出实验内容中第

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

4.实验结论

实验过程中,注意记录以下内容:

(1)遇到的问题及解决办法。

在编写星星程序时,不会它的算法,通过XX,然后自己试运行,得出了最后的结果。

另外,在程序中遇到问题,积极的问了同学,解决了我的问题。

(2)实验体会。

我觉得在编写程序时,要细心并且要有耐心,认真的写每一个程序,就一定会有收获。

实验2数组和字符串编程

1.实验目的

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

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

2.实验内容

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

packagetest1;

importjava.util.Arrays;

importjava.util.Scanner;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

int[]num=newint[10];

@SuppressWarnings("resource")

Scannerinput=newScanner(System.in);

System.out.println("请输入数字:

");

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

num[i]=input.nextInt();

}

Arrays.sort(num);

System.out.println("从小到大输出:

");

for(intindex=0;index

System.out.println(num[index]);

}

}

}

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

packagetest1;

importjava.util.Arrays;

importjava.util.Scanner;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

@SuppressWarnings("resource")

Scannerin=newScanner(System.in);

System.out.println("请输入一个3*3矩阵:

");

intsum=0;

int[][]a=newint[3][3];

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

{

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

{

a[i][j]=in.nextInt();

if(i==j)

sum+=a[i][j];

}

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

}

System.out.println("对角线和为"+sum);

}

}

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

(单词用空格隔开)

packagetest1;

importjava.util.Scanner;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

@SuppressWarnings("resource")

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)实验体会

在编写程序时要认真细心,并且要认真了解它的过程,明白它的算法。

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

1.实验目的

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

2.实验内容

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

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

要求如下:

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

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

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

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

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

packagetest1;

importjava.util.Scanner;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

Complexa=newComplex(1,7);

Complexb=newComplex(7,5);

System.out.println(a.toString()+"和"+b.toString()+"相加的结果为"+plexAdd(b).toString());

System.out.println(a.toString()+"差"+b.toString()+"相减的结果为"+plexJian(b).toString());

}

}

classComplex{

intrealPart;

intimaginPart;

publicComplex(){

realPart=0;

imaginPart=0;}

publicComplex(intr,inti){

realPart=r;

imaginPart=i;}

publicComplexcomplexAdd(Complexb){

returnnewComplex(realPart+b.realPart,imaginPart+b.imaginPart);}

publicComplexcomplexJian(Complexb){

returnnewComplex(realPart-b.realPart,imaginPart-b.imaginPart);}

publicStringtoString(){

Stringsr="("+realPart+","+imaginPart+")";

returnsr;}

}

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

packagetest1;

importjava.util.Scanner;

publicclassf11{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

doublebalance=0;

doubledeposit=0;

doublewithdraw=0;

for(;;){

System.out.println("请输入数字:

\t1.存\t2.取\t3.查询\n");

@SuppressWarnings("resource")

Scannerinput=newScanner(System.in);

Stringnum=input.next();

doubles1=0,s2=0;

if(num.equals("1")){

System.out.println("输入存入金额:

");

deposit=input.nextDouble();

System.out.println("存钱数目为:

"+deposit);

s1+=deposit;

}

if(num.equals("2")){

System.out.println("输入取钱金额:

");

withdraw=input.nextDouble();

System.out.println("取走金额为:

"+withdraw);

s2+=withdraw;

}

if(true|num.equals("3")){

balance+=s1-s2;

System.out.println("账户余额为:

"+balance);

}

}

}

}

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

packageshiyan3;

publicclassquestion3{

publicIntegermaxNum(inta,intb){

if(a>b){

returna;

}else{

returnb;

}

}

publicIntegerminNum(inta,intb){

if(a>b){

returnb;

}else{

returna;

}

}

publicstaticvoidmain(String[]args){

inta=6,b=2,c=10;

question3s=newquestion3();

inttemp=s.maxNum(a,b);

inttemp1=s.maxNum(temp,c);

System.out.println("TheMaxNumis"+temp1);

inttemp2=s.minNum(a,b);

inttemp3=s.minNum(temp2,c);

System.out.println("TheMinNumis"+temp3);

}

}

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

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

packagesssu;

importjava.util.ArrayList;

importjava.util.List;

/**

*1、实现描述超市的的类Suppermacket类,

*记录系统中现有商品(Goods类),

*定义增加商品的函数Append,

*删除商品的函数Delete,

*查询商品的函数Query,

*并显示查询结果;

*

*/

publicclassSuperMarket{

privateListgoodsList=newArrayList();

/**

*增加商品的

*@paramgoods

*@return

*/

publicStringappend(Goodsgoods)

{

goodsList.add(goods);

return"添加成功";

}

/**

*删除商品

*/

publicStringdelete(Stringname)

{Stringflag=null;

if(name==null){

flag="删除商品["+name+"]不存在";

}

else

{

for(inti=0;i

{

Goodsgoods=goodsList.get(i);

if(goods.getName().equals(name))

{

goodsList.remove(i);

flag="删除商品["+name+"]成功";

break;

}

}

}

returnflag;

}

/**

*销售

*@paramgoods

*@return

*/

publicStringsale(Goodsgoods)

{

Stringflag="销售商品["+goods.getName()+"]失败";

if(goods!

=null)

{

for(inti=0;i

{

Goodsgoods_2=goodsList.get(i);

if(goods_2.getName().equals(goods.getName()))

{

if(goods.getNumber()>goods_2.getNumber())

{

flag+="原因:

库存不足";

}

elseif((goods_2.getPrice()*goods.getNumber())>goods.getPrice())

{

flag+="原因:

余额不足";

}

else

{

goods_2.setNumber(goods_2.getNumber()-goods.getNumber());

flag="销售商品["+goods.getName()+"]成功";

}

break;

}

}

}

returnflag;

}/**

*查询商品

*@return

*/

publicListgetGoodsList()

{

returngoodsList;

}

publicvoidsetGoodsList(ListgoodsList)

{

this.goodsList=goodsList;

}

}

 

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

packagesssu;

/**

*具有商品名称Name,

*商品价格Price,

*商品数量number等属性,

*操作Sale(销售商品,余额不足时给予提示)、

*Add(商品上架操作)

*和ShowMe(显示商品信息)。

*/

publicclassGoods

{

privateStringname;

privatefloatprice;

privateintnumber;

privateStringProducer;

publicStringgetName()

{

returnname;

}

publicvoidsetName(Stringname)

{

this.name=name;

}

publicfloatgetPrice()

{

returnprice;

}

publicvoidsetPrice(floatprice)

{

this.price=price;

}

publicintgetNumber()

{

returnnumber;

}

publicvoidsetNumber(intnumber)

{

this.number=number;

}

publicvoidProducer(Stringi)

{

this.Producer=i;

}

publicStringProducer(){

//TODOAuto-generatedmethodstub

returnProducer;

}

}

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

提示:

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

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

packagesssu;

importjava.io.BufferedReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

/**

*1、实现描述超市的的类Suppermacket类,记录系统中现有商品(Goods类),定义增加商品的函数Append,

*删除商品的函数Delete,查询商品的函数Query,并显示查询结果;

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

*3、编写包含main方法的测试类,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。

*/

publicclassTest{

publicstaticvoidmain(String[]args)

{

SuperMarketmarket=newSuperMarket();

@SuppressWarnings("unused")

String[]label={"商品名称","商品价格","商品数量"};

inttype=-1;

do

{

System.out.println("=================");

System.out.println("请选择操作类型");

System.out.println("1添加商品");

System.out.println("2删除商品");

System.out.println("3查询商品");

System.out.println("4销售商品");

System.out.println("0退出系统");

System.out.println("=================");

inti=0;

do

{

try

{

type=Integer.parseInt(readString());

i=0;

}

catch(Exceptione)

{

i=1;

S

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

当前位置:首页 > 医药卫生

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

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