太原理工大学java实验报告.docx
- 文档编号:5047406
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:33
- 大小:223.49KB
太原理工大学java实验报告.docx
《太原理工大学java实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学java实验报告.docx(33页珍藏版)》请在冰豆网上搜索。
太原理工大学java实验报告
太原理工大学java实验报告2016
本科实验报告
课程名称:
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{ privateList /** *增加商品的 *@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 */ publicList { returngoodsList; } publicvoidsetGoodsList(List { 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(Exception
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太原 理工大学 java 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)