




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java技术JAVA程序设计实验指导书实验一、编写第一个Java程序时间:第2周,9.10一 实验目的1 了解JDK的安装与使用2 学习JavaApplet3 学习Java Application二 实验重点:了解JDK的安装与使用三 实验学时:2学时四 实验内容与步骤1 从SUN公司网站上下载免费工具JDK1.4并安装,安装完成后,设置路径到安装的子目录,如JDK安装在c:jdk1.4下,则在dos提示符下键入如下命令:path = c:jdk1.4bin 2.利用JDK工具完成如下Application程序,编辑并运行成功。输出以下字符图形: * + + * * * + + + + * * * * *32.利用JDK工具完成如下Applet程序,编辑并运行成功。输出以下字符图形: * + + * * * + + + + * * * * *五 实验要求1 整理上机结果和体会,总结JavaApplet和Application开发调试经验。2 完成实验报告。在每次上课之前按报到的学号立即上交email或磁盘。实验二、Java语法基础时间:第3周,9.18一 实验目的1 熟悉和理解Java中的数据类型,运算符,表达式,程序结构等内容2 学会运用已经学过的内容,编制简单的程序二 实验重点:掌握Java语言的基本语法规则三 实验学时:2学时四 实验内容与步骤1、设计一个Java程序,可以对任意两个正整数m和n,求其最大公约数和最小公倍数。提示:得到程序所带参数的例程public class canshu public static void main(String args) int i,j; if(args.length0) i = Integer.parseInt(args0); else i =0; if(args.length1) j = Integer.parseInt(args1); else j = 0; System.out.println(第1个参数为: + i ); System.out.println(第2个参数为: + j ); 2、一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=123。编写一个Java程序,找出1000以内的所有完数。3、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。请编写一个Java程序实现数据的加密和解密。(选做)五 实验要求a) 整理上机结果和体会。完成实验报告。在每次上课之前按报到的学号立即上交email或磁盘。实验三、Java面向对象编程 第4周,9.24一 实验目的1 掌握类的定义和使用2 掌握对象的声明和不同访问属性的成员方问方式3 掌握构造函数和析构函数的使用和执行过程二实验重点:掌握Java语言的类的定义与使用三实验学时:2学时四实验内容与步骤1、根据教材P75的说明,将货币兑换类HuobiDuihuan定义如下:class HuobiDuihuan private double duihuanLu; public HuobiDuihuan(double lu) duihuanLu = lu; public double toYuan(double dollar) return(dollar * duihuaLu); public void setDuihuanLu(double lu) duihuanLu = lu; public double toDollar(double waiBi) return(waiBi/duihuanLu); 请用面向对象的编程方法,计算兑换率为7.8为时,10000人民币可以兑换多少美元?5000美元可以兑换多少人民币?要求用Java语言编程计算出结果。2、根据实验2中的加密算法,规则如下:数据是四位的整数,每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。参考代码如下:public class JaMi public static void main(String args) int x,x1,x2,x3,x4,t; if(args.length0) x = Integer.parseInt(args0); else System.out.println(请在程序后面带一个四位的数字!); return; x1=x%10; x2=(x%100)/10; x3=(x%1000)/100; x4=x/1000; x1=(x1+5)%10; x2=(x2+5)%10; x3=(x3+5)%10; x4=(x4+5)%10; t=x1; x1=x4; x4=t; t=x2; x2=x3; x3=t; t=x1+x2*10+x3*100+x4*1000; System.out.println(x+=+t); 请用面向对象的编程方法,定义一个加密类,并编写Java 程序实现上述功能。五实验要求a) 整理上机结果和体会。b) 完成实验报告。在每次上课之前按报到的学号立即上交email或磁盘。实验四、数组与字符串时间:第6周,10.8六 实验目的1 熟悉和理解Java中的数组与字符串等内容2 学会运用已经学过的内容,编制简单的程序七 实验重点:掌握Java语言的数组与字符串八 实验学时:2学时九 实验内容与步骤1、设计一个Java程序,可以从屏幕上得到数据的输入,参考代码如下:import java.io.*;class mRead public static void main(String args)throws IOException BufferedReader d =new BufferedReader(new InputStreamReader(System.in); String a; System.out.print(请输入任一字符串:); a=d.readLine(); double b=Double.parseDouble(a) ; System.out.println(你输入的字符串是+b*100); d.close(); 2、 根据上面的程序,为竞赛评分编写一个JAVA程序,要求输入9个评委的打分,去掉一个最高和最低分,得到最终的得分并显示出来。其中,9个评委的打分要放在数组中,最高和最低分要显示出来。十 实验要求a) 整理上机结果和体会。b) 完成实验报告。在每次上课之前按报到的学号立即上交email或磁盘。实验五、Java类的继承与派生时间:第7周,10.16一 实验目的1 掌握类继承与派生的定义和使用2 熟悉继承的访问控制机制二实验重点:掌握Java语言类的继承二 实验学时:2学时四实验内容与步骤1、理解与实现以下程序:public class TestHiddenFieldpublic static void main(String args)D200_Card my200 = new D200_Card();my200.balance = 50.0;System.out.println(Father balance: +my200.getBalance();if(my200.performDial()System.out.println(Son balance: +my200.balance);abstract class PhoneCarddouble balance;abstract boolean performDial();double getBalance()return balance;abstract class Number_PhoneCard extends PhoneCardlong cardNumber;int password;String connectNumber;boolean connected;boolean performConnection(long cn, int pw)if(cn=cardNumber & pw =password)connected = true;return true;elseconnected = false;return false;class D200_Card extends Number_PhoneCarddouble additoryFee;double balance;boolean performDial()if(balance(0.5+additoryFee)balance -= 0.5+additoryFee;return true;elsereturn false;2、理解与实现以下程序:public class TestOverLoadpublic static void main(String args)D200_Card my200 = new D200_Card();my200.balance = 50.0;System.out.println(Father balance: +my200.getBalance();if(my200.performDial()System.out.println(Son balance: +my200.balance);abstract class PhoneCarddouble balance;abstract boolean performDial();double getBalance()return balance;abstract class Number_PhoneCard extends PhoneCardlong cardNumber;int password;String connectNumber;boolean connected;boolean performConnection(long cn, int pw)if(cn=cardNumber & pw =password)connected = true;return true;elseconnected = false;return false;class D200_Card extends Number_PhoneCarddouble additoryFee;double balance;boolean performDial()if(balance(0.5+additoryFee)balance -= 0.5+additoryFee;return true;elsereturn false;double getBalance()return balance;3根据下面的要求编程实现复数类ComplexNumber(1) 复数类ComplexNumber的属性m_dRealPart: 实部,代表复数的实数部分m_dImaginPart:虚部,代表复数的虚数部分(2)复数类ComplexNumber的方法ComplexNumber()构造函数,将实部,虚部都置为0ComplexNumber(double r, double I)构造函数,创建复数对象的同时完成复数的实部,虚部的初始化GetRealPart()获取实部GetImaginaryPart()获取虚部SetRealPart(double d)设置实部SetImaginaryPart(double d)设置虚部ComplexAdd(ComplexNumber c)复数相加ComplexAdd(double c)复数相加ComplexMinus(ComplexNumber c)复数相减ComplexMinus(double c)复数相减ComplexMulti(ComplexNumber c) 复数相乘ComplexMulti(double c) 复数相乘ToString()把当前复数对象的实部,虚部组合成a+bi的字符串形式三 实验要求a) 整理上机结果和体会,总结Java类继承与派生的定义和使用经验。b) 完成实验报告。在每次上课之前按报到的学号立即上交email或磁盘。实验六、Java程序的图形界面时间:第9周,10.30一 实验目的1、 理解java中图形界面设计的基本元素与方法2、 用已学知识编制程序二实验重点:掌握Java语言的界面编程技术三 实验学时:2学时四实验内容与步骤1、理解与实现以下Java计算器程序:import java.awt.*; import java.awt.event.*; public class computer implements WindowListener,ActionListener private Frame f; double d0,d1,d2,result; boolean flag=true; String s,oper; TextField tf1; Panel p=new Panel(); public static void main(String args) computer e=new computer(); e.go(); public void go() int i; result=0; s=new String(); oper=new String(+); f=new Frame(计算器); MenuBar mb=new MenuBar(); f.setMenuBar(mb); Menu m1=new Menu(编辑); Menu m2=new Menu(帮助); Menu m3=new Menu(关于); mb.add(m1); mb.add(m3); mb.setHelpMenu(m2); tf1=new TextField(,15); Button b=new Button21; for(i=1;i21;i+) bi=new Button(); bi.setFont(new Font(仿宋,0,16); b1.setLabel(退格); b2.setLabel(CE); b3.setLabel(C); b4.setLabel(/); b5.setLabel(7); b6.setLabel(8); b7.setLabel(9); b8.setLabel(*); b9.setLabel(4); b10.setLabel(5); b11.setLabel(6); b12.setLabel(-); b13.setLabel(1); b14.setLabel(2); b15.setLabel(3); b16.setLabel(+); b17.setLabel(0); b18.setLabel(+/-); b19.setLabel(.); b20.setLabel(=); p.setLayout(new GridLayout(5,4); p.setBackground(new Color(80,30,100); for(i=1;i21;i+) p.add(bi); bi.addActionListener(this); bi.setBackground(new Color(20,130,180); bi.setForeground(Color.yellow); for(i=1;i4;i+) bi.setBackground(new Color(120,180,170); bi.setForeground(Color.blue); for(i=1;i=4;i+) bi*4.setBackground(new Color(120,180,170); bi*4.setForeground(Color.red); b20.setBackground(Color.red); f.addWindowListener(this); f.setLayout(new BorderLayout(); f.add(North,tf1); f.add(Center,p); f.setSize(200,200); f.setVisible(true); public void windowClosing(WindowEvent e)System.exit(1); public void windowOpened(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowClosed(WindowEvent e) public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) public void actionPerformed(ActionEvent e) String i1=tf1.getText(); s=e.getActionCommand(); if(s=0| s=1|s=2|s=3|s=4|s=5|s=6|s=7|s=8|s=9|s=.) if(flag) tf1.setText(i1+s); else tf1.setText(s); flag=true; else if(s=+|s=-|s=*|s=/) result=Double.parseDouble(i1); flag=false; oper=s; else if(s=) d0=Double.parseDouble(i1); if(oper=+) result+=d0; if(oper=-) result-=d0; if(oper=*) result*=d0; if(oper=/) result/=d0; tf1.setText(Double.toString(result); flag=false; else if(s=CE) tf1.setText(); flag=false; else if(s=C) result=0; tf1.setText(); flag=false; else if(s=退格) String ss=tf1.getText(); int i=ss.length(); ss=ss.substring(0,i-1); tf1.setText(ss); else if(s=+/-) d2=-1*Double.parseDouble(tf1.getText(); tf1.setText(Double.toString(d2); 2、 在上例的基础上增加sqrt、1/x、%三种计算功能, 并完善菜单功能.二 实验要求a) 整理上机结果和体会,总结java中图形界面设计的开发调试经验。b) 完成实验报告。在每次上课之前按学号立即上交email或磁盘。实验七:线程的使用时间:第10周,11.6一、实验目的:1. 学习Java线程的使用2、根据已学知识实现程序二、实验重点:1、线程类的实例化2、线程实例与线程目标类的run( )方法之间的控制操作3、线程控制下的动画实现三、实验课时:2个学时四、实验内容与步骤1.理解与实现以下程序:import java.awt.*;import java.awt.event.*;public class TestImg extends Frame implements RunnableImage img;int k;Thread thd;public static void main(String args)TestImg frm = new TestImg(My Long);frm.resize(300,300);frm.show();public TestImg(String name)super(name);img = new Image3;k=0;for(int i=0 ; i2) k=0;repaint();try thd.sleep(200);catch (InterruptedException e)public void paint(Graphics g)g.drawImage(imgk,100,100,this);所涉图片如下: 2编写一个程序,实现下列三个图片组成的动画,在程序的窗口中不断从左到右自动飞行。 五、实验要求1、整理上机结果和体会,总结Java线程的开发调试经验。2、完成实验报告。最迟在下次上课之前分组按姓名+学号作为实验报告的文件名上交。实验八:Java Applet编程时间:第12周,11.18一、实验目的:1、学习Java Applet编程的方法2、掌握Java Applet运行处理机制3、综合以前线程的知识,编写动画程序二、实验重点:1、Java Applet运行处理机制2、编写动画程序三、实验课时:2个学时四、实验内容与步骤1.理解与实现以下Java Applet的程序,理解体会Java Applet运行处理机制:/* MovingText.html*/ Moving Text /* MovingText.java*/import java.awt.*;import java.applet.*;import java.util.*;public class MovingText extends Applet implements Runnable String msg;Font fnt;Color clr;int lastX, lastY, directX, directY; int delay; Thread animatorThread; public void init() String str; int fps = 10; /The text to be displayedmsg = getParameter(text);System.out.println(msg);/How many milliseconds between frames? str = getParameter(fps);System.out.println(str); try if (str != null) fps = Integer.parseInt(str); catch (Exception e) delay = (fps 0) ? (1000 / fps) : 100; /Create Font and Colorfnt= new Font(TimeRoman,Font.PLAIN,30);clr=new Color(255,0,0);/original loacationlastX = (int)( Math.random()*(getSize().width-1) );lastY = (int)( Math.random()*(getSize().height-1) );directX = 3;directY = 3; public void start() /Start animating! if (animatorThread = null) animatorThread = new Thread(this); animatorThread.start(); public void stop() /Stop the animating thread. animatorThread = null; public void run() /Just to be nice, lower this threads priority /so it cant interfere with other processing going on. Thread.currentThread().setPriority(Thread.MIN_PRIORITY); /Remember the starting time. long startTime = System.currentTimeMillis(); /This is the animation loop. while (Thread.currentThread() = animatorThread) /Display it. repaint(); /Delay depending on how far we are behind. try startTime += dela
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全优化填空题集
- 2025年国际工程师资格证书综合能力考试试题及答案解析
- 2025年安全员考试安全生产安全应急预案题库及答案
- 2025年地铁安全员应急处理模拟题及答案
- 2025年建筑施工三类人员C证考试重点题库
- 2025年气象观测员中级面试模拟题及答案解析选
- 课件《关雎》教学课件
- 2025年政府会计准则制度预测题及解析资料
- 2025年土耳其国家电投招聘笔试全真模拟题及答案
- 2025年宠物训导师笔试重点复习题
- 工程挂靠免责协议书
- 风电并购协议书
- 企业微信在电脑上使用课件功能
- (重庆康德三诊)2025年重庆市高三第三次联合诊断检测生物试卷(含答案解析)
- 机油商店转让协议书
- 数据结构应用试卷汇编
- 滤波电路课件
- 老年护理学教案
- 《考研英语:综合能力提升教程(新版)》配套课件-阅读理解
- 《抗日战争课件》课件
- 起点签约合同
评论
0/150
提交评论