欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java语言程序设计软件实验指导书.doc

    • 资源ID:35170601       资源大小:110.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java语言程序设计软件实验指导书.doc

    本科实验报告课程名称: java程序设计 实验地点: 实验室110 专业班级:物联网1401 学号: 2014002010 学生姓名: 李涛宇 指导教师: 李君蝉 实验成绩: 2016年 6 月 20 日目 录实验1 Java语言基础3实验2 数组和字符串编程4实验3 Java面向对象程序设计5实验4 Java异常处理7实验5 多线程编程12实验6 图形用户界面编程13实验7 输入及输出15实验1 Java语言基础1.实验目的(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。2.实验内容 “水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。3.实验步骤及结果(1) 实验过程中实验步骤及其结果。 package 实验测试;public class Flower public static void main(String args) / TODO Auto-generated method stubint a,b,c;for(a=1;a<10;a+)for(b=0;b<10;b+)for(c=0;c<10;c+)if(a*a*a+b*b*b+c*c*c=100*a+10*b+c)System.out.println(100*a+10*b+c+"是水仙花数");(2) 实验体会。本实验虽然是java语言基础实验,但只运用到了java的输出,实际上仍然使用的是C语言基础中对于循环的控制。在多重循环控制中注意循环变量的控制。实验2 数组和字符串编程1.实验目的(1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。(2) 较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。2.实验内容输入一段字符串,统计其中有多少个单词。(单词用空格隔开)3.实验步骤及结果(1) 实验过程中实验步骤及其结果。 package 实验测试;import java.util.Scanner;public class Letter public static void main(String args) / TODO Auto-generated method stubSystem.out.println("请输入一串字符");Scanner sc=new Scanner(System.in);String message=sc.nextLine();String sp=message.split(" ");System.out.println("字符串单词数位:"+sp.length);(2) 实验体会这个实验主要运用了java语言中对于字符串进行处理的函数,由于丰富的库函数,java可以调用函数,便捷地实现其他语言需要很多代码才能实现的功能,应该熟悉java语言常用的库函数。实验3 Java面向对象程序设计1.实验目的掌握Java面向对象程序设计中类、继承、包和接口的概念及应用,能熟练应用方法、类、成员变量等元素。2.实验内容(1) 创建一个复数类complex,以附属进行数学运算、复数具有如下格式:RealPart+ImaginaryRart*I ,其中,I为-1的平方根。 要求如下: 利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。 提供两复数加、减、乘的运算方法。 按格式(a,b)打印复数。其中a为实部,b为虚部。(2) 编程实现以下简单超市管理,具体要求如下: 实现描述超市的类Suppermacket类,具有货架属性,记录系统中现有商品,定义盘点商品的函数check(盘点各类商品的数量,并输出盘点结果),查询商品的函数query,并显示查询结果; 定义商品类Goods,具有商品名称Name,商品价格Price,商品产地Producer等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除、查询商品、盘点商品,以及商品销售和商品上架的操作提示: 超市货架可以使用商品数组,数组大小100表明存放100个商品。 注意实现商品查询的多态性,要求可以根据商品的名称或产地或价格查询商品的数量。3.实验步骤及结果(1) 实验过程中实验步骤及其结果。 package 实验测试;public class Comp public static void main(String args) / TODO Auto-generated method stub Complex a = new Complex(3, 1); Complex b = new Complex(2, 5); a.sub(a,b); a.add(a,b); class Complex private double RealPart; private double ImaginaryRart; public Complex(double realPart, double imaginaryRart) super(); RealPart = realPart; ImaginaryRart = imaginaryRart; void add(Complex a,Complex b) RealPart = a.RealPart + b.RealPart; ImaginaryRart = a.ImaginaryRart + b.ImaginaryRart; System.out.println("两复数相加结果为("+ RealPart +","+ ImaginaryRart+")" ); void sub(Complex a,Complex b) RealPart = a.RealPart - b.RealPart; ImaginaryRart = a.ImaginaryRart - b.ImaginaryRart; System.out.println("两复数相减结果为("+ RealPart +","+ ImaginaryRart+")" );(2) 实验体会复数类的实验通过自定义复数类,实现复数的加减,java通过类的调用可以实现新的数据类型及功能。复数类的实现也是基于对基本数据类型的定义操作。超市管理题目功能复杂,根据描述,没有正确理解题目所表达的意图,在看到网上相关参考后恍然大悟。代码非常复杂,但是注重每个细节功能的实现。实验4 Java异常处理1.实验目的掌握异常的概念,以及如何定义、抛出和捕获处理异常。2.实验内容在实验三中的超市、商品类中创建一个自定义异常类。 要求:在定义商品类时,若销售商品数量大于余额则作为异常处理(InsufficientFundsException)。提示: 产生异常条件是某类商品销售数量大于库存额,因此是否抛出异常要先判断该条件。 确定产生异常的方法,应该在sale方法中产生异常Insufficient Funds Exception。 处理异常安排在调用sale的时候,因此sale方法要声明异常,由上级方法捕获并处理。 要定义好自己的异常。3.实验步骤及结果(1) 实验过程中实验步骤及其结果。 import java.io.*;import java.util.Scanner;public class Main static String name;static float price;static int num;static String producer;static Supermarkt market=new Supermarkt();public static void main(String args)throws IOExceptionint i=0;while(true)market.ShowMenu();i=Integer.parseInt(Getline();switch(i)case 1: Add();break;case 2: Del();break;case 3: Showgoods();break;case 4: Query();break;case 5: System.out.print("成功退出系统");return;default:System.out.println("输入错误,请重新输入!");break;public static void Query() System.out.println("*查询商品*");System.out.print("商品名:");name=Getline();if(!market.Query(name)System.out.print("没有该商品");public static void Showgoods() System.out.println("*显示所有商品*");if(!market.Showgoods()System.out.println("没有任何商品");public static void Del() System.out.println("*删除商品*");System.out.print("商品名称:");name=Getline();if(market.Del(name)System.out.println("删除商品->" + name + " 成功!");elseSystem.out.println("该商品不存在");public static void Add() System.out.println("*增加商品*");System.out.print("商品名称:");name=Getline();System.out.print("商品价格:");price=Float.parseFloat(Getline();System.out.print("商品数量:");num=Integer.parseInt(Getline();System.out.print("商品产地:");producer=Getline();if (market.Add(name, price, num,producer) System.out.println("增加商品->" + name + " 成功!"); else System.out.println("存在相同商品,增加失败!");public static String Getline() Scanner scan = new Scanner(System.in);String str = scan.nextLine();return str.trim();2)public class Goods private String name;private float price;private int num;private String producer;public Goods(String name,float price,int num,String producer)this.name=name;this.price=price;this.num=num;this.producer=producer;public String GetName()return this.name;public float GetPrice()return this.price;public int GetNum()return num;public String GetProducer()return this.producer;public void Showgoods()System.out.print("商品名称: "+name+" 商品价格:"+price+" 商品数量:"+num+" 商品产地:"+producer+"n");3)import java.util.Vector;public class Supermarkt static Vector<Goods> listgoods=new Vector<Goods>();public void ShowMenu() System.out.println("-");System.out.println("1.增加商品 ");System.out.println("2.删除商品");System.out.println("3.显示商品 ");System.out.println("4.查询商品 ");System.out.println("5.退出系统 ");System.out.println("-");return;/增加商品public boolean Add(String name,float price, int num,String producer)int count=listgoods.size();for(int i=0;i<count;i+)if(listgoods.get(i).GetName().equals(name)return false;Goods newgoods =new Goods(name,price,num,producer);listgoods.add(newgoods);return true;/删除商品public boolean Del(String name)int count=listgoods.size();for(int i=0;i<count;i+)if(listgoods.get(i).GetName().equals(name)listgoods.remove(i);return true;return false;/显示商品public boolean Showgoods()int count=listgoods.size();if(count=0)return false;else for(int i=0;i<count;i+)listgoods.get(i).Showgoods();return true;/查询商品public boolean Query(String name)int count=listgoods.size();for(int i=0;i<count;i+)if(listgoods.get(i).GetName().equals(name)listgoods.get(i).Showgoods();return true;return false;(2) 实验体会。Java语言由于异常处理的存在,使得java可以对程序运行中出现的不合法数据或事件有处理能力,针对不同的情况,可以使用不同的try catch进行分别处理。Java程序更加具有强壮性。实验5 多线程编程1.实验目的(1) 现成的概念、线程的生命周期。(2) 多线程的编程:扩展Thread类及使用Runnable接口。(3) 使用多线程机制实现动画2.实验内容(1) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。3.实验步骤及结果(1) 实验过程中实验步骤及其结果 import java.text.SimpleDateFormat;import java.util.*;public class Hi public static void main(String args)SimpleDateFormat s2 = new SimpleDateFormat("yyyy年MM月dd日EEEEE时mm分ss秒");new HiH(s2,"jerry").start();new HiH(s2,"liming").start();new HiH(s2,"merry").start();class HiH extends Threadprivate SimpleDateFormat a;private String s1;public HiH(SimpleDateFormat a,String str)this.a = a;s1 = str;public void run()synchronized(this.a)System.out.println(""+s1);System.out.println(this.a.format(new Date();trysleep(int)(Math.random()*1000);catch(InterruptedException e)运行结果(2) 实验体会本实验通过sleep及start控制线程在三个线程之间灵活切换,使得java程序利用率更加提高。在就绪,执行,挂起之间切换。实验6 图形用户界面编程1.实验目的 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。2.实验内容(1) 试设计一窗口,内含一个按钮。开始运行时,按钮显示“Click Me”字样,当按钮按下时,按钮显示为“Click Me Again”字样,再按一次,则按钮显示“Click Me”字样,依次循环。3.实验步骤及结果(1) 实验过程中实验步骤及其结果 package 图形界面;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;public class GUI public static void main(String args) / TODO Auto-generated method stubJFrame frm=new JFrame();frm.setLayout(null);frm.setVisible(true);frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setBounds(500,250,250,150);JButton btn=new JButton("Click Me");frm.add(btn);btn.setBounds(120,60,120,30);ButtonListener bln=new ButtonListener(btn);btn.addMouseListener(bln);class ButtonListener implements MouseListenerboolean t=true;JButton btn;public ButtonListener(JButton btn)this.btn=btn;Overridepublic void mouseClicked(MouseEvent arg0) / TODO Auto-generated method stubt=!t;Overridepublic void mouseEntered(MouseEvent arg0) / TODO Auto-generated method stubOverridepublic void mouseExited(MouseEvent arg0) / TODO Auto-generated method stubOverridepublic void mousePressed(MouseEvent arg0) / TODO Auto-generated method stubif(t) btn.setText("Click Me Again");else btn.setText("Click Me");Overridepublic void mouseReleased(MouseEvent arg0) / TODO Auto-generated method stub(2) 实验体会 图形用户界面使得java程序更具有交互性。在本实验中,通过事件监听器的注册,可以对不同的鼠标指令多态地进行不同反应。编程中由于对button组建的函数不太熟悉,导致实现接口时出现问题。实验7 输入及输出1.实验目的(1) 掌握Java两种基本输入/输出流类的使用。(2) 掌握Java文件类型的使用。(3) 掌握文件的输入、输出方法。2.实验内容。(1) 编写程序,利用Java字符流文件输入/输出类,实现将源程序复制到另一个文件中。(2)编写一个程序,比较两个文件的内容是否相同。3.实验步骤及结果(1) 实验过程中实验步骤及其结果 package 输入输出;import java.awt.*;import java.awt.event.*;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.;import java.io.;import java.io.IOException;import java.io.InputStreamReader;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.;import java.io.;public class IOStream public static void main(String args) throws IOException / TODO Auto-generated method stubBufferedInputStream bis = null;BufferedOutputStream bos = null;bis = new BufferedInputStream(new (new File("C:UsersAdministratorDesktop输入输出src输入输出IOStream.java");bos = new BufferedOutputStream(new (new File("C:UsersAdministratorDesktop.out");int i = 0;while(i = bis.read() != -1) bos.write(i);bis.close();bos.close();(二)文本内容比较package 比较;import java.io.;import java.io.IOException;public class Compare public static void main(String args)throws IOException / TODO Auto-generated method stubint str = 0;int str1 = 0; fr = null; fw = null;fr = new ("C:UsersAdministratorDesktopin");fw = new ("C:UsersAdministratorDesktopout");if(str=fr.read()!= (str1=fw.read()System.out.println("Different");elseSystem.out.println("文件内容一样");(2) 实验体会。 试验中进行三个流类的套结,从而实现对文件中字符的读写输入。让我在实验中困惑的是ecllips的相对路径好像无法识别,在文件路径打开时花了很大功夫。

    注意事项

    本文(Java语言程序设计软件实验指导书.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开