




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: Java程序设计 实验项目: 八个实验 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 2013年 月 日目 录实验1 Java语言基础3实验2 数组和字符串编程4实验3 Java面向对象程序设计5实验4 Java异常处理7实验5 多线程编程9实验6 图形用户界面编程11实验7 输入与输出14实验8 网络编程15实验1 Java语言基础1.实验目的(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。2.实验内容(1) 编写应用程序,计算100(含100)以内所有偶数的和。实验源代码:package sum; public class Sum public static void main(String args)int sum=0;int i;for(i=0;i=100;i+)if(i%2=0) sum+=i;System.out.println(sum);(2) “水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。实验源代码:package sum.Water;import java.util.Scanner; public class WaterFlower public static void main(String args)int a,b,c;int number;/System.out.println(请输入一个水仙花数);Scanner scanner=new Scanner(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(该数是水仙花数);else System.out.println(该数不是水仙花数);(3) 编写一个程序,求1-100间的素数。实验源代码:package sushu;public class sunumber public static void main(String args)int i;int j;for(i=2;i=100;i+)for(j=2;j=i) System.out.print(i+ );(4) 有一函数: x (x1)Y= 3x-2 (1x10) 4x (x10) 写一程序,给定x值,输出y值。实验源代码:package Fuction;import java.util.Scanner;public class fuction public static void main(String args)int x;int y;Scanner scanner=new Scanner(System.in);System.out.println(请输入X的值);x=scanner.nextInt();if(x=1&x=10) y=3*x-2;else y=4*x;System.out.println(y的值为+y);(5) 使用for循环语句,编写程序输出以下图案。实验源代码:package Star;public class Exp20 public static void main(String args) final int size = 4; for (int i = 1; i = size; i+) for (int j = i; j size; j+) System.out.print( ); for (int k = 1; k = 1; i-) for (int j = 1; j 0; k-) System.out.print(); System.out.println(); (6) 编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是: 若年号可以被4整除,而不能被100整除,则是闰年; 若年号可以被400整除,也是闰年。package runyear;实验源代码:public class runyear public static void main(String args) int x;int i=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个数,按大小顺序输出。实验源代码:package order;import java.util.Scanner;public class order public static void main(String args) intnumber=new int10;int i,j,temp;for(i=0;i10;i+)Scanner scanner=new Scanner(System.in);numberi=scanner.nextInt();for(i=1;i10;i+)for(j=1;jnumberj+1)temp=numberj;numberj=numberj+1;numberj+1=temp;for(i=0;i10;i+)System.out.print(numberi+ );(2) 求一个3*3矩阵对角线元素之和。实验源代码:package Rectangle;import java.util.Scanner;public class Rectangle public static void main(String args)int number=new int33;int i,j;int sum=0;for(i=0;i3;i+)for(j=0;j3;j+)Scanner scanner=new Scanner(System.in);numberij=scanner.nextInt();for(i=0;i3;i+)for(j=0;j3;j+)if(i=j) sum+=numberij;continue;for(i=0;i3;i+)for(j=0;j200) throw new Exception(商品数量超出剩余数量); catch(Exception e) e.printStackTrace(); class marketpublic int goodsnumber;public String location; public market(int x,String y)goodsnumber=x;location=y;public int check()return goodsnumber;public String query()return location;class Goodspublic int Price;public String Name;public String producer;public int Goodsnumber;public Goods(int x,String y,String z,int w)Price=x;Name=y;producer=z;Goodsnumber=w;public void Sale()if(Goodsnumber10) System.out.print(商品数量不足);public void Add(int a)Goodsnumber+=a;public void ShowMe()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面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。经过这次实验我发现自己在知识方面还有很多的不足,在平时的练习中也不懂得扩展与举一反三,导致这次的实验做得马马虎虎,除此之外也体会到了面向对象程序设计相对于过程化程序设计的优越性,总之,语言是一门技巧,要想能熟练掌握,必须多加练习。实验4 Java异常处理1.实验目的掌握异常的概念,以及如何定义、抛出和捕获处理异常。2.实验内容(1) 做实验之前要求思考以下问题,作为预习内容;1 错误和异常有何区别?查看Java异常类的关系图。2 异常是如何抛出、捕获和处理的?3 Java捕获和处理异常的结构式怎样的?4 Try语句如何嵌套?Trow语句有何作用?Finally程序快的作用是什么?(2) 运行下面的程序,理解异常的抛出、捕获与处理。Import java.io.*;public class void main(String args) public staic void main(String args) for(int i=0;i200) throw new Exception(商品数量超出剩余数量); catch(Exception e) e.printStackTrace(); class marketpublic int goodsnumber;public String location; public market(int x,String y)goodsnumber=x;location=y;public int check()return goodsnumber;public String query()return location;class Goodspublic int Price;public String Name;public String producer;public int Goodsnumber;public Goods(int x,String y,String z,int w)Price=x;Name=y;producer=z;Goodsnumber=w;public void Sale()if(Goodsnumber10) System.out.print(商品数量不足);public void Add(int a)Goodsnumber+=a;public void ShowMe()System.out.println(该商品的名称为:+Name);System.out.println(该商品的价格为:+Price);System.out.println(该商品的生产地为:+producer);System.out.println(该商品的数量为+Goodsnumber);3.实验步骤及结果在实验过程中记录实验步骤及其结构。4.实验结果1、2、5、实验心得体会通过实验,掌握了异常的概念,以及如何定义、抛出和捕获处理异常。在程序的整个运行过程中,实验二,四都比较容易调试,也没出现任何问题,同时在实验三中创建异常类时由于可仿照例6.5进行实验,所以实现起来也相对比较容易,即使如此,我觉得要真正掌握这一部分内容也不是那么容易,所以以后我更应该多去尝试新的题型,希望能彻底把这一部分给掌握了,以至于使所编写的程序更加健壮,完美。实验5 多线程编程1.实验目的(1) 现成的概念、线程的生命周期。(2) 多线程的编程:扩展Thread类与使用Runnable接口。(3) 使用多线程机制实现动画2.实验内容(1) 运行下面的程序,理解用创建Thread子类的方法实现多线程。/S09_01_Thread.JavaImport java.util.*;class S09_01_Thread extends Thread int pauseTime; String name; public S09_01_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) S09_01_Thread tp1=new S09_01_Thread(1000,Fast); tp1.start(); S09_01_Thread tp2=new S09_01_Thread(3000,Slow); tp2.start(); (2) 运行下面的程序,理解用实现Runnable接口的方法实现多线程。/S09_02_Thread.JavaImport java.util.*;class S09_02_Thread implements Runnable int pauseTime; String name; public S09_02_Thread(int x,String n) pauseTime=x; name=n;public void run() while(true) try system.out.println(name+:+new Date(System.currentTimeMillis(); Tread.sleep(pauseTime); catch(Exception e)System.out.println(e); static public void main(String srgs) Thread t1=new Thread(new S09_02_Thread(1000,Fast); t1.start(); Thread t2=new Thread(new S09_02_Thread(3000,Slow); t2.start(); (3) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。package supermarket;import java.util.*;class threeThread implements Runnable int pauseTime; String name; public threeThread(int x,String n) pauseTime=x; name=n;public void run() while(true) try System.out.println(name+:+new Date(System.currentTimeMillis(); Thread.sleep(pauseTime); catch(Exception e)System.out.println(e); public class Ex_supermarketstatic public void main(String srgs) Thread t1=new Thread(new threeThread(100,one); t1.start(); Thread t2=new Thread(new threeThread(300,two); t2.start(); Thread t3=new Thread(new threeThread(100,three); t3.start(); 3.实验预习(1) 将本章所学内容要点进行整理,熟练掌握线程的编程要领。(2) 写出实验内容中第(3)题程序的源代码,作为预习报告。4.实验结果1、2、3、5、实验心得体会通过实验,掌握了 现成的概念、线程的生命周期、多线程的编程、扩展Thread类与使用Runnable接口、使用多线程机制实现动画。实验一二程序的调试很顺利,没有出现任何问题,但一开始函数Date(System.currentTimeMillis()的确看不懂,不过查看了帮助文档后都还勉强能懂,至于实验三由于有实验一二做例子,所以考虑起来也不是很麻烦,也是比较容易就实现了。虽然实验做了,但对于多线程的具体编程应用,由于课时比较短,匆匆忙忙就结课了,所以总体来说还没掌握好,以后有时间的话,我想再返回来重新学一下,希望能掌握。实验6 图形用户界面编程1.实验目的 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。2.实验内容(1) 编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用showStatus(字符串)方法。package supermarket;import java.awt.*;import java.awt.event.*;public class Ex_supermarket implements MouseMotionListener,MouseListener,WindowListener private Frame frm; private TextField tf; public static void main(String args) Ex_supermarket two = new Ex_supermarket(); two.go(); public void go() frm = new Frame(这是卫婉颖的监听器); frm.add(new Label(请在此区域拖曳鼠标),North); tf = new TextField(30); frm.add(tf,South); frm.addMouseMotionListener(this); frm.addMouseListener(this); frm.addWindowListener(this); frm.setSize(300,200); frm.setVisible(true); public void mouseDragged(MouseEvent e) String s = 鼠标当前坐标: X=+e.getX()+tY = +e.getY(); tf.setText(s); public void mouseMoved(MouseEvent e) public void mouseClicked(MouseEvent e) public void mouseEntered(MouseEvent e) String s = 鼠标进来啦; tf.setText(s); public void mouseExited(MouseEvent e) String s = 鼠标离开啦; tf.setText(s); public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e) 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) (2) 完成图6-1所示的GUI布局管理,不需要实现功能。图6-1 要实现的GUI布局管理package supermarket;import java.awt.*;public class Ex_supermarket extends Frame static Frame frm=new Frame(FileChooseDemo); static Panel pnl=new Panel(new GridLayout(1,4,1,15); static Panel pn2=new Panel(new GridLayout(); static Panel pn3=new Panel(new GridLayout(5,1); static Panel pn4=new Panel(new GridLayout(5,1); static Panel pn5=new Panel(new GridLayout(6,1); static Panel pn6=new Panel(new GridLayout(6,1); static Checkbox chb1=new Checkbox(Open,true); static Checkbox chb2=new Checkbox(Save,false); static Checkbox chb3=new Checkbox(Custom,false); static Checkbox chb4=new Checkbox(Default Filtering,true); static Checkbox chb5=new Checkbox(Add JPG and GIF Filters,false); static Checkbox chb6=new Checkbox(Show Hidden Files,false); static Checkbox chb7=new Checkbox(Show Extension,true); static Checkbox chb8=new Checkbox(Show FileView,true); static Checkbox chb9=new Checkbox(Show PreView,true); static Checkbox chb10=new Checkbox(Show Control Buttons,true); static Checkbox chb11=new Checkbox(Just Select Files,false); static Checkbox chb12=new Checkbox(Just Select Directories,false); static Checkbox chb13=new Checkbox(Select Files or Directories,false); static Checkbox chb14=new Checkbox(Single Selection,true); static Checkbox chb15=new Checkbox(Multi Selection,false); static Checkbox chb16=new Checkbox(Metal,false); static Checkbox chb17=new Checkbox(Motif,false); static Checkbox chb18=new Checkbox(Windows,true); static Button b1=new Button(Remove Filter); static Button b2=new Button(Add Filter); static Button b3=new Button(Show FileChooser); static Label lab1=new Label(Dialog Type); static Label lab2=new Label(Filter Controls); static Label lab3=new Label(Display Option); static Label lab4=new Label(File and Directory Options);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑需求分析方案设计模板
- 《鱼我所欲也》经典篇目理解默写
- 旋塞质量监控报告
- 公司软件采购审批管理办法
- 建筑创意方案设计模板图片
- 浙教版七年级科学上册第四章 第1节 物质的构成说课稿
- Unit 1 Animals教学设计-2025-2026学年小学英语三年级下册牛津上海版(试用本)
- 瓦斯抽放工技术考核试卷及答案
- 秦皇岛策划方案咨询公司
- 《第8课 家乡赞歌-山里的孩子心爱山》(教案)-2023-2024学年人音版(2012)音乐三年级下册
- 村干部饮水安全培训总结课件
- 2025年工地安全员培训考试试题及答案
- 安全生产治本攻坚三年行动半年工作总结
- 文明有礼+课件-2025-2026学年统编版道德与法治八年级上册
- 供水设备运行维护与保养技术方案
- 木雕工艺课件
- 2025年2个清单28个问题查摆整改措施
- 摩擦力影响因素实验报告范本
- 教育系统应急知识培训课件
- 基坑防护课件
- 2025年黑龙江省龙东地区中考英语真题含答案
评论
0/150
提交评论