实验五 Java事件处理

合集下载

java实验5图形用户界面设计试验

java实验5图形用户界面设计试验

java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。

容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。

JAVA语言实验指导

JAVA语言实验指导

JAVA语言实验指导《Java程序设计》课程实验指导书实验一熟悉Java编程环境和Java程序结构一、实验目的:通过简单的输入输出程序熟悉Java编程环境,认识Java程序结构。

二、实验内容:在JDK或者V isual J++环境下编写简单的输入输出程序。

三、实验要求:1. 接收一个键盘输入的字符;2. 输出一条简单的问候信息;3. 写出实验报告,要求对程序结构做出详细的解释。

四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为inOut.java;3. 定义主方法static public void main(String[ ] args);在方法体中调用System.in.read方法接收一个键盘输入的字符;调用System.out.println()方法,使程序输出一条问候信息;4. 编译运行程序,观察运行情况和输出结果。

(如果使用JDK环境,调用javac.exe和java.exe编译和执行程序)六、选作实验编写Java Applet程序实现上述功能。

实验二 Java语言基础训练一、实验目的:熟悉Java基本语法,练习使用Java的数据类型和控制结构,实现简单的数据和字符串操作。

二、实验内容:编写Java程序,输出1900年到2000年之间的所有润年。

三、实验要求:1. 正确使用Java语言的控制结构;2. 从屏幕输出1900年到2000年之间的所有润年;3. 写出实验报告。

四、实验学时:2学时五、实验步骤:1.进入Java编程环境;2. 新建一个Java文件,命名为runY ear.java;3. 定义主方法,查找1900到2000年之间的润年,并输出它们;4. 编译运行程序,观察输出结果是否正确。

六、选作实验编写程序,查找一个字符串中是否包含指定的字符。

实验三面向对象基础熟悉Java类的结构,掌握类的定义、方法和属性的定义以及对象的实现,掌握类的继承。

Java实验

Java实验

实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1 掌握Java Application程序的开发过程并编写第一个Java Application程序*2 掌握Java Applet程序的开发过程并编写第一个Java Applet程序。

*3 练习简单的HTML文件配合Java Applet使用。

4 熟悉jdk的使用二、实验内容:1 编写一个Java Application程序,在屏幕上显示”This is my first java program!”.*2 编写第一个Java Applet 程序,在屏幕上显示”This is my first Java Applet!”三、实验步骤:1、jdk的使用jdk开发工具包可以从网站下载,jdk不是集成编译环境,须手动运用命令行程序进行编译和解释执行1)编辑.java文件可以在记事本或其他纯文本编辑器中编辑,保存时把文件扩展名定为.java即可,当然要注意文件名命名的要求2)编译生成.class文件进入dos系统进行编译(如图1.1所示),格式如javac MyFirstApplication.java,要注意图1.1进入命令行看javac.exe的路径并且MyFirstApplication.java文件路径和javac.exe路径一样。

编译成功后就能在浏览器中看见多了一个MyFirsApplication.class或更多的.class文件。

如图1.2所示图1.2使用jdk编译MyFirstApplication.java文件3)解释执行Application程序:同样是在dos系统下解释执行,格式如java MyFirstApplication,注意.class后缀别加,如图1.3所示。

图1.3解释执行MyFirstApplication.class程序* applet程序进入dos系统进行编译,格式如javac MyFirstApplet.java,要注意看javac.exe的路径并且MyFirstApplet.java文件路径和javac.exe路径一样。

Java实验报告继承、多态、接口和异常处理

Java实验报告继承、多态、接口和异常处理

Java实验报告继承、多态、接⼝和异常处理实验5 继承、多态、接⼝和异常处理⼀、实验⽬的1、掌握Java的类和对象的声明和使⽤⽅法;2、掌握Java的类的继承和实现⽅法;3、掌握多态性在类的继承中的运⽤;4、掌握接⼝的定义与使⽤;5、掌握基本异常的处理机制;6、熟悉try语句与catch语句的搭配使⽤;7、了解有异常处理与没有异常处理的差别;8、多重catch语句的使⽤;9、使⽤Throws声明异常和Throw抛出异常。

⼆、实验环境1、PC微机;2、DOS操作系统或 Windows 操作系统;3、Java sdk程序开发环境、eclipse集成环境。

三、实验内容1. 设计三个类,分别是学⽣类Student,本科⽣类UnderGraduate,研究⽣类Postjgraduate,其中Student类是⼀个抽象类,它包含学⽣的基本信息如姓名、所学课程、课程成绩等,⽽Undergraduate类和Postgraduate类都是Student类的⼦类,这两个类计算课程成绩等级的⽅法有所不同,如下表所⽰。

假设某班级⾥既有研究⽣⼜有本科⽣,编写程序统计出全班学⽣2. 和Mobilephone具体实现,并设计⼀个应⽤程序类来使⽤这些类。

3.要求设计⼀个GUI图形窗⼝程序,该程序让⽤户输⼊⼀个星期中的任意⼀天的数字1-7,然后输出该数字所对应的是星期⼏。

四、实验步骤实验内容⼀1.建⽴package experiment5_1,其最终⽬录结构如下:2.建⽴Student类:package experiment5_1;public abstract class Student {final static int CourseNo = 3;String name;String type;int[] courses;String courseGrade;public Student(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name; courses = new int[CourseNo];courseGrade = "" ;}public abstract void calculateGrade();public String getName( ) {return name;}public String getType( ) {return type ;}public String getCourseGrade( ) {return courseGrade;}public int getCourseScore(int courseNumber) {return courses[courseNumber];}public void setName(String name) {/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html = name;}public void setType(String type) {this.type = type;}public void setCourseScore(int courseNumber, int courseScore) { //按课程索引号设置课程成绩this.courses[courseNumber] = courseScore ;}}3.建⽴外部类(1)研究⽣类Postjgraduatepackage experiment5_1;public class postgraduate extends Student {public postgraduate(String name) {super(name);type = "研究⽣";}public void calculateGrade() {// TODO Auto-generated method stubint total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += courses[i];};average = total / CourseNo;if (average>=90&&average<100) courseGrade = "优秀"; else if (average>=80&&average<90) courseGrade = "良好"; else if (average>=70&&average<80) courseGrade = "⼀般"; else if (average>=60&&average<70) courseGrade = "及格"; else courseGrade = "不及格";}}(2)本科⽣类UnderGraduatepackage experiment5_1;public class undergraduate extends Student {public undergraduate(String name ) {super(name);type = "本科⽣";}public void calculateGrade() {int total = 0;double average = 0;for (int i = 0; i < CourseNo; i++) {total += getCourseScore(i) ;};average = total / CourseNo;if (average>=80&&average<100) courseGrade = "优秀"; else if (average>=70&&average<80) courseGrade = "良好"; else if (average>=60&&average<70) courseGrade = "⼀般"; else if (average>=50&&average<60) courseGrade = "及格"; else courseGrade = "不及格";}}4.编写代码测试函数package experiment5_1;public class polymorphism {public static void main(String[] args) {Student[] students = new Student[5];students[0] = new undergraduate("陈建平");students[1] = new undergraduate("鲁向东");students[2] = new postgraduate("匡晓华");students[3] = new undergraduate("周丽娜");students[4] = new postgraduate("梁欣欣");for (int i=0; i<5 ;i++) {students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for (int i=0; i<5 ;i++) {students[i].calculateGrade();}System.out.println("姓名" + " 类型" +" 成绩");System.out.println("-----------------------");for (int i=0; i<5 ;i++) {System.out.println(students[i].getName( )+" "+students[i].getType( )+" "+students[i].getCourseGrade( ));}}}实验内容⼆1.建⽴package experiment5_2,其最终⽬录结构如下:2.写接⼝Soundable代码:package experiment5_2;public interface Soundable {public void increaseV olume( );public void decreaseV olume( );public void stopSound( );public void playSound( );}3.创建三个类Radio、Walkman和Mobilephone具体实现,分别添加代码:// Mobilephone类package experiment5_2;class Mobilephone implements Soundable{public void increaseV olume( ) {System.out.println("增⼤⼿机⾳量");}public void decreaseV olume( ) {System.out.println("减⼩⼿机⾳量");}public void stopSound( ) {System.out.println("关闭⼿机");}public void playSound( ) {System.out.println("⼿机发出来电铃声");}}// Walkman类package experiment5_2;class Walkman implements Soundable { public void increaseV olume( ) { System.out.println("增⼤随声听⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩随声听⾳量"); }public void stopSound( ) {System.out.println("关闭随声听");}public void playSound( ) {System.out.println("随声听发出⾳乐"); }}// Radio类package experiment5_2;class Radio implements Soundable{ public void increaseV olume( ) { System.out.println("增⼤收⾳机⾳量"); }public void decreaseV olume( ) { System.out.println("减⼩收⾳机⾳量"); }public void stopSound( ) {System.out.println("关闭收⾳机");}public void playSound( ) {System.out.println("收⾳机播放⼴播"); }}4.创建people类及编写测试代码://People类package experiment5_2;class People {public void listen(Soundable s) {s.playSound( );}}//测试代码package experiment5_2;import java.util.Scanner;public class InterfaceTest {public static void main(String[] args) {int i;People sportsman = new People( );Scanner scanner = new Scanner(System.in);Soundable[] soundDevice = new Soundable[3];//往声⾳设备数组中放⼊能发声的设备soundDevice[0] = new Radio( );soundDevice[1] = new Walkman( );soundDevice[2] = new Mobilephone();System.out.println("你想听什么? 请输⼊选择:0-收⾳机1-随声听2-⼿机");i = scanner.nextInt( );//开始听声⾳sportsman.listen(soundDevice[i]);soundDevice[i].increaseV olume( );soundDevice[i].stopSound();scanner.close();}}实验内容三1.建⽴package experiment5_3,其最终⽬录结构如下package experiment5_3;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class DateTransf extends JFrame implements KeyListener{/****/private static final long serialVersionUID = 1L;private static DateTransf frm;private static JTextField txt;private static JTextField data;DateTransf() {setTitle("数字与星期转换");setLocation(700, 300);setSize(400,130);}public static void main(String[] args) {frm = new DateTransf();frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frm.setLayout(new GridLayout(2,2));txt = new JTextField(12);data = new JTextField(12);JLabel lable1 = new JLabel("输⼊数字:");JLabel lable2 = new JLabel("星期⼏:");frm.add(lable1);txt.addKeyListener(frm);frm.add(txt);frm.add(lable2);frm.add(data);frm.setVisible(true);}public void keyPressed(KeyEvent e) {if (e.getSource() == txt) {if (e.getKeyCode() == KeyEvent.VK_ENTER) // 判断按下的键是否是回车键{try {int number = Integer.parseInt(txt.getText());switch (number) {case 1:data.setText("Mon");break;case 2:data.setText("Tue");break;case 3:data.setText("Wen");break;case 4:data.setText("Thu");break;case 5:data.setText("Fri");break;case 6:data.setText("Sat");break;case 7:data.setText("Sun");break;default:JOptionPane.showMessageDialog(null, "您输⼊的数字不是1~7","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMATION_MESSAGE); break;}}catch (Exception e1) {// TODO: handle exceptionJOptionPane.showMessageDialog(null, "您输⼊的不是整数","⽆效⽇期",/doc/1bd4a299a66e58fafab069dc5022aaea998f41e2.html RMA TION_MESSAGE); }}}}public void keyReleased(KeyEvent e) {}public void keyTyped(KeyEvent e) {}}2.编译运⾏五、实验结果●实验内容⼀结果:●实验内容⼆结果:●实验内容三结果:六、实验⼩结1.这次实验的内容⽐较多,需要掌握Java的类和对象的声明和使⽤⽅法、Java的类的继承和实现⽅法、多态性在类的继承中的运⽤、接⼝的定义与使⽤、基本异常的处理机制、try语句与catch语句的搭配使⽤等等;2. 在实验过程中,重点是要区分好实例和类,灵活掌握类的调⽤。

java实验指导书

java实验指导书

实验一java开发环境及语言基础实验目的(1)确保正确配置java开发环境。

(2)了解javac和java命令的使用。

(3)熟悉java中的运算符。

(4)掌握条件语句和循环语句的使用。

(5)掌握通过命令行参数接受数据。

(6)掌握用Scanner类接受数据。

实验内容(1)在控制台中输入java命令,查看输入结果。

(2)编写一个java程序,计算半径为3.0的圆周长和面积并输出结果。

(3)求a+aa+aaa+...+a...a(n个)的和,其中a为1~9之间的整数。

例如,当a=3、n=4时,求3+33+333+3333的和。

(4)给定一个正整数m,统计其位数,分别打印每一位数字,再按照逆序打印出各位数字。

(5)用Scanner类方法输入三角形三边求三角形面积。

实验要求(1)JDK的安装及配置。

(2)在DOS及eclipse下编辑、编译运行第一个java程序:hello world。

(3)求圆周长和面积用方法实现,主函数调用。

(4)从命令行输入1~9之间的整数a,当所求的和大与106时,输出相应的a值及所求的和值。

(5)用Scanner类的方法输入正整数m,m的值不应该超过99999,否则给出错误信息。

应引入包:import java.util.Scanner,然后在需要的方法中实例化对象:Scanner sc = new Scanner(System.in),最后调用对象的next方法,如int n=nextInt(),接受整数。

实验二数组实验目的(1)掌握数组的定义和使用方法。

(2)熟悉数组的排序、查找的方法。

(3)巩固循环的使用。

实验内容(1)使用for循环,将二维数组的行与列互换,即完成矩阵的转置。

(2)编写数组的排序程序。

(3)编写杨辉三角。

实验要求(1)编写一个界面1 选择排序2 冒泡排序3插入排序4 快速排序5 退出当选择1、2、3、4、5的时候完成相应的功能。

(2)杨辉三角形状为等腰三角形实验三字符串实验目的(1)掌握正则表达式的使用。

面向对象程序设计(Java)实验指导书

面向对象程序设计(Java)实验指导书
实验指导书
10 信息管理与信息系统 专业
雷金娥编 2012 年 9 月
目录
实验一 Java Application 程序的编辑、编译和运行 ..................................... 2 实验二 Java 程序设计基础.................................................................................. 4 实验三 类的封装 ................................................................................................... 5 实验四 类的继承 ..................................................................................................... 6 实验五 类的多态 ..................................................................................................... 8 实验六 接口与实现接口的类 ............................................................................. 12 实验七 图形用户界面设计 ................................................................................. 14 实验八 线程设计 ................................................................................................. 16 实验九 输入/输出流与文件操作......................................................................... 18 实验十 数据库应用设计 ..................................................................................... 20

实验报告 Java输入、输出和异常处理

实验报告 Java输入、输出和异常处理

实验四Java输入、输出和异常处理一、实验目的1.了解I/O流的使用;2.掌握常见的输入/输出流类及其主要方法。

3.熟悉S y s t e m类,掌握标准输入/输出。

4.学会利用Tr y-c a t c h-f i n a l l y语句来捕获和处理异常;5.掌握自定义异常类的方法。

二、实验要求1.使用标准数据流的应用程序。

2.使用文件输入输出流的应用程序。

3.通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容(一)使用标准数据流的应用程序标准数据流指在字符方式下(如D O S提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1.程序功能:将键盘上输入的字符在屏幕上显示出来。

2.编写S Y4_1.j a v a程序文件,源代码如下:c l a s s S Y4_1{p u b l i c s t a t i c v o i d m a i n(S t r i n g[]a rg s)t h r o w s j a v a.i o.I O E x c e p t i o n {b y t e b u ff e r[]=n e w b y t e[10];S y s t e m.o u t.p r i n t l n("从键盘输入不超过10个字符,按回车键结束输入:");i n t c o u n t=S y s t e m.i n.r e a d(b u f f e r);//读取输入的字符并存放在缓冲区b u ff e r中S y s t e m.o u t.p r i n t l n("保存在缓冲区b u ff e r中元素的个数为:"+c o u n t);S y s t e m.o u t.p r i n t l n("b u f f e r中各元素的值为:");f o r(i n t i=0;i<c o u n t;i++){S y s t e m.o u t.p r i n t(""+b u ff e r[i]);//在屏幕上显示b u ff e r 元素的值}S y s t e m.o u t.p r i n t l n();S y s t e m.o u t.p r i n t l n("输出b u ff e r字符元素:");S y s t e m.o u t.w r i t e(b u ff e r,0,b u f f e r.l e n g t h);}}3.编译、运行S Y4_1.j a v a文件。

《java程序设计》实验指导书(09高职)

《java程序设计》实验指导书(09高职)

实验一 Java实验环境的建立一、实验目的1.掌握Java编程环境的搭建过程;2.掌握Jcreator pro软件的使用方法;3.能使用Java doc文档。

二、实验内容1.下载并安装JDK1.6,配置JDK环境变量;2.下载Javadoc压缩包并解压在JDK安装路径下;3.下载Jcreator pro 4.0并安装和配置使用环境;4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。

①Java application程序代码如下:public class HelloJava{public static void main(String args[]){System.out.println("Hello Java!");}}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){g.drawString("Hello!",30,30);}}三、试验要求1、预习试验内容并写出上机报告。

2、实验中出现的问题及实验体会。

实验二 Java语言程序设计训练一、实验目的:1.输入、输出操作实现原理和方法2.掌握程序流程控制的实现方法3.掌握数组的定义和操作方法二、实验内容1.计算 Result=1!+2!+3!+ (10)2.计算1---50之间所有素数的和。

3. 产生10个100之内的随机整数输出,并把这10个数按从小到大的顺序输出。

4. 随机产生20个50~100间的整数,输出这20个数并找出最大数及最小数输出。

5.试编写程序,实现求几何形状(长方形、正方形、圆形)的周长、面积。

(可任选其一)6.验证书中的例题。

三、试验要求1、预习试验内容并写出上机报告。

2、实验中出现的问题及实验体会。

Java实验指导书2013版

Java实验指导书2013版

第一部份绪论 (2)本课程实验的作用与任务 (2)本课程实验的基础知识 (2)本课程实验教学项目及其教学要求 (2)第二部份基本实验指导 (4)实验一:Java基本语法 (4)实验三:Java面向对象程序设计(一) (9)实验五:Java常用类 (18)实验七:Java集合 (21)实验九:GUI图形用户界面 (26)第一部份绪论本课程实验的作用与任务使学生进一步深刻理解Java语言基本概念、语法规则及程序结构,熟练掌握Java语言程序设计的基本方法,提高利用Java在网络环境下开发、设计应用程序的能力,从而进一步培养学生的创新能力和解决实际问题的能力。

熟悉JDK工具的编程和调试环境;熟练掌握选择和循环结构的程序设计;熟练掌握面向对象的程序设计思想,包括系统类的应用和用户自定义类;充分理解类的三种的特性:封装、继承和多态,特别是通过接口和抽象类理解多态;掌握图形用户界面的设计,特别是事件处理;掌握包的使用;掌握常用的输入输出流类的应用。

最后能根据实验的要求认真完成实验报告。

本课程实验的基础知识Java的基本数据类型包括:byte,short,int,long,double,char。

Java的数组属于引用类型的数据,是将相同类型的数据按顺序组成的一种符合数据类型。

Java的运算符有算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符,特别要注意它们的优先级。

Java的控制语句有if语句、switch语句、for语句、while语句、do-while语句。

类是组成Java程序的基本要素,类有两个重要的成员:成员变量和方法。

类是创建对象的模板,类将对象的属性和功能封装为一个整体。

成员变量和类变量的区别、实例方法和类方法的区别、方法的重载、成员的访问权限等都是实验课程所依据的重要理论。

继承、多态、接口、包及内部类都是Java中非常重要的概念。

Java使用“流”来读写数据。

Java的输入输出工作是通过FileInputStream类、FileReader 类、BufferedReader类、ByteArrayInputStream类、ByteArrayOutputStream类等完成的。

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。

二、预习内容安装工具软件的基本方法。

三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。

应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。

(1)编辑A verage.java。

class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。

java实验报告-分析

java实验报告-分析

实验报告□实践报告□课程名称:Java语言程序设计实验、实践名称:Java语言基础、数组和字符串编程、Java面向对象程序设计、Java异常处理多线程编程、图形用户界面编程实验、实践地点:致向楼301专业班级:软件1531 学号:2015006446学生姓名:关玉芬指导教师:相洁2017 年1月8日实验一Java语言基础一、实验目的和要求(1) 通过实验,掌握Java语言程序设计的基本方法。

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

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

二、实验内容1.编写应用程序,计算100(含100)以内所有偶数的和。

2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。

编写程序,求所有的水仙花数。

3.编写一个程序,求1-100间的素数。

4. 有一函数:x (x<1)Y= 3x-2 (1≤x<10)4x (x≥10)写一程序,给定x值,输出y值。

5. 使用for循环语句,编写程序输出以下图案。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。

判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。

三、主要仪器设备使用的计算机惠普:硬件配置Win7、软件环境eclipse四、实验代码1. public class a1 {public static void main(String[] args) {int i,sum=0;for(i=0;i<=100;i++){if(i%2==0)sum+=i;}System.out.println(sum);}}2. public class a2 {public static void main(String[] args) {int i,a,b,c;for(i=100;i<=999;i++){a=i%10;b=(i-a)%100/10;c=(i-b*10-a)/100;if(i==a*a*a+b*b*b+c*c*c){System.out.println(i);}}}}3. public class a3 {public static void main(String[] args) {// TODO Auto-generated method stubfor(int i=2;i<=100;i++) {boolean t = false;for(int j=2;j<i;j++){if(i%j==0){t=false;break;}else {t=true;}}if(t) System.out.print(i+" ");}}}4. public class a4 {public static void main(String[] args) {int i,j;for(i=1;i<=4;i++){for(j=1;j<=((-1)*i+4);j++)System.out.print(" ");for(j=1;j<=(2*i-1);j++)System.out.print("☆");System.out.println();}for(i=3;i>=1;i--){for(j=1;j<=((-1)*i+4);j++)System.out.print(" ");for(j=1;j<=(2*i-1);j++)System.out.print("☆");System.out.println();}}}5. import java.util.*;public class a5 {public static void main(String[] args) {Scanner x=new Scanner(System.in);System.out.println("请输入一个大于1的整数");int i=x.nextInt();System.out.println("你刚才输入的数为"+i);if(i<1) System.out.print("输出结果为"+i);else if (i>=1&&i<10) System.out.print("输出结果为"+(i*3-2));else System.out.print("输出结果为"+i*4);x.close();}}6. package shiyan;public class a6 {public static void main(String[] args) {int i,j=0;for(i=1900;i<=2100;i++){if((i%4==0)&&(i%100!=0)||(i%400==0)){ j++;if(j%5==0)System.out.println(i);else{System.out.print(i);System.out.print(" ");}}}}} 五、实验结果1.2.3.4.5.6.六、讨论、心得初步掌握了Eclipse集成开发环境。

JAVA程序设计实验指导书及答案.pdf

JAVA程序设计实验指导书及答案.pdf
4 / 31
<HEAD> <TITLE>An Applet</TITLE> </HEAD> <BODY> <applet code=”HelloWorldApplet.class”width=200 height=40> </applet> </BODY> </HTML> 其中用<applet>标记来启动 HelloWorldApplet.code 指明字节码所在的文件,width 和 height 指明 applet 所占的大小,把这个 HTML 文件存入 Example.html,然后运行:
d:\user>java HelloWorldApp 结果在屏幕上显示 HelloWorld! (4) 输入一个 applet 源程序,学习编辑、编译、运行程序的方法。
简单的 Applet 小程序
例 1-2 // HelloWorldApplet.java import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet{ //anapplet public void paint(Graphics g){ g.drawString(″Hello World in Applet!″,20,20); } }
设置环境变量 PATH 和 CLASSPATH(如果在 autoexec.bat 中没有进行设置)。进入命令 行(MS-DOS)方式,进行如下设置:
SET PATH=D:\JDK1.5.0\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH% (2) 安装 Jdk 1.5.0 Doc, 并查看 Jdk 1.5.0 Doc 文档中,和课堂教学有关系的部分。 在整个实验过程中都可以参考。 (3) 建立自己的工作目录如 d:\user。以后的 Java 程序和过程文件均放置在此目录下。 输入一个 Application 源程序,学习编辑、编译、运行程序的方法。 //例 1-1 文件 HelloWorldApp.java 如下: // HelloWorldApp.java public class HelloWorldApp{ public static void main(String args[]){ System.out.println(″Hello World!″); } } 本程序的作用是输出下面一行信息:

java程序设计课程--实验报告-实验05

java程序设计课程--实验报告-实验05
(c)完成赋值语句,使change1变量包含与colledge相同的字符,但是全部大写;
(d)完成赋值语句,使change2包含与change1相同的字符,但是所有字符“O”全部要用“*”替换。
(e)完成赋值语句,将colledge和town两个字符串连接起来,并把值赋给change3(使用String类的concat方法)。
phraseLength = phrase.length();
middleIndex = phraseLength/2;
//get the substring for each half of the phrase
firstHalf = phrase.substring(0,middleIndex);
int phraseLength;//number of characters in the phrase String
int middleIndex;//index of the middle character in the String
String firstHalf;//first half of the phrase string
3.声明两个新的字符串类型变量city和state。添加语句,提示用户输入他们的籍贯所在的city和state,并使用Scanner类读入该信息。然后使用String类创建并打印一个新字符串,包含state名(全部大写),city名(全部小写),state名(全部大写)。如下例所示:
NORTH CAROLINAlilesvilleNORTH CAROLINA
//Get the lengths of the sides as input
System.out.print("Please enter the lengths of the two sides of" + "a right triangle(separate by a blank space):");

实验报告

实验报告

《面向对象——java》课程设计实验报告一、设计目的:1.熟练掌握java面向对象编程。

2.选择适合的数据结构实现需求。

3.熟练使用各种控制结构。

4.掌握GUI组件、事件处理技术二、实验任务:设计一个简易的计算器,可以进行四则运算:加、减、乘、除等(限于十进制下)程序要求:(1)、应具有相应的界面,可参考下图进行设计:(2)、操作符号定为:“+”、“-”、“*”、“/”、“(”、“)”等(3)、当用户点击面板中各组件输入表达式,点击“=”时。

文本框之前内容应清空,直接显示表达式运算结果。

例如:输入表达式“3+2*5”之后按“=”,直接显示“13”。

(4)、以上部分为必须完成的内容。

三、试验程序:import java.awt.*;import java.awt.event.*;class CalcAppDemo extends Frame{private TextField t_result;private Panel p_main;//主面板private Panel p_num;//数字面板private Panel p_oper;//操作符面板private Panel p_show;//显示面板private Button b_num[];//数字按钮private Button b_oper[];//操作符按钮public CalcAppDemo(String title){setTitle(title);t_result = new TextField("0.0",21);p_main = new Panel();p_num = new Panel();p_oper = new Panel();p_show = new Panel();p_main.setLayout(new BorderLayout());p_num.setLayout(new GridLayout(4,3,1,1));p_oper.setLayout(new GridLayout(4,2,1,1));b_num = new Button[12];//初始化for(int i = 0;i < 9;i++){b_num[i] = new Button(new Integer(i+1).toString()); }b_num[9] = new Button("0");b_num[10] = new Button("cls");b_num[11] = new Button(".");for(int i = 0;i < 12;i++){p_num.add(b_num[i]);}b_oper = new Button[8];b_oper[0] = new Button("+");b_oper[1] = new Button("-");b_oper[2] = new Button("*");b_oper[3] = new Button("/");b_oper[4] = new Button("pow");b_oper[5] = new Button("sqrt");b_oper[6] = new Button("+/-");b_oper[7] = new Button("=");//创建控件for(int i = 0;i < 8;i++){p_oper.add(b_oper[i]);}t_result.setEditable(false);p_show.add(t_result,BorderLayout.NORTH); //文本框在显示面板的北边p_main.add(p_show,BorderLayout.NORTH); //显示面板在主面板上的北边p_main.add(p_num,BorderLayout.WEST);p_main.add(p_oper,BorderLayout.EAST); //操作符面板在主面板上的东边this.add(p_main,BorderLayout.CENTER); //主面板在框架(主窗口)的中间setSize(400,400);setResizable(false);pack();this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});ButtonListener bl = new ButtonListener(); //监听器对象for(int i=0;i<12;i++){b_num[i].addActionListener(bl); //注册监听器}for(int i = 0;i < 8;i++){b_oper[i].addActionListener(bl);}}class ButtonListener implements ActionListener { //监听器类是内部类private String lastOp; //存储上一次操作符private String strV al; //存储数字对应的字符串private double total; //总数private double number; //存储新输入的数private boolean firsttime;//判断是否第一次按下的是操作符按钮private boolean operatorPressed;//判断是否已经按过操作符按钮ButtonListener( ){firsttime = true;strV al = "";}//事件处理器public void actionPerformed( ActionEvent e ){String s = ((Button)e.getSource()).getLabel().trim();if(Character.isDigit(s.charAt(0))){ //判断是操作数还是操作符handleNumber(s);}else{calculate(s); //计算}}//判断是一元操作符还是二元操作符,并根据操作符类型做计算void calculate( String op ){operatorPressed = true;if(firsttime&&!isUnary(op)){total = getNumberOnDisplay();firsttime = false;}if (isUnary(op)){handleUnaryOp(op);}else if (lastOp != null){handleBinaryOp(lastOp);}if (!isUnary(op)){ //存储上一次按下的操作符lastOp = op;}}//判断是否是一元操作符boolean isUnary(String s){return s.equals( "=" )|| s.equals( "cls" )|| s.equals( "sqrt" )|| s.equals( "+/-" )|| s.equals( "." );}//处理一元操作符void handleUnaryOp( String op ){if ( op.equals( "+/-" ) ){//将显示框中的数字取反number = negate(getNumberOnDisplay()+"");t_result.setText("");t_result.setText( number + "");return;}else if (op.equals(".")){handleDecPoint();return;}else if(op.equals("sqrt")){number = Math.sqrt(getNumberOnDisplay());t_result.setText("");t_result.setText(number+"");return;}else if(op.equals("=")){//在按下"="前已经按下一个二元运算符if(lastOp!=null&&!isUnary(lastOp)){handleBinaryOp(lastOp);}lastOp=null;firsttime=true;return;}else{clear();}}//处理二元运算符void handleBinaryOp(String op){if(op.equals("+")){total += number;}else if(op.equals("-")){total -= number;}else if(op.equals("*")){total *= number;}else if(op.equals("/")){try{ //异常处理total /=number;}catch(ArithmeticException ae){ }}else if(op.equals("pow"))total=Math.pow(total,number);// t_result.setText("");lastOp = null;// strV al = "";number = 0;t_result.setText(total+"");}//该方法用于处理数字按钮void handleNumber(String s){if (!operatorPressed){ //连接按下的数字按钮的值strV al+=s;}else{ //当按下操作符按钮时,清除strV al并存储输入的第一个数值operatorPressed = false;strV al = s;}//将strV al转换为doublenumber=new Double(strV al).doubleV alue();t_result.setText("");t_result.setText(strV al);}//该方法用于按下"."按钮void handleDecPoint(){operatorPressed = false;//如果该字符串中无".",放置一个"."在字符串末尾if ( strV al.indexOf( "." ) < 0 ) {strV al+=".";}t_result.setText("");t_result.setText( strV al );//该方法用于将一个数求反double negate( String s ){operatorPressed = false;//如果是一个整数,去掉小数点后面的0if ( number == ( int ) number ){s = s.substring(0, s.indexOf( "." ) );}//如果无"-"增加在该数的前面if ( s.indexOf( "-" ) < 0 ){strV al = "-"+s;}else{//如果有"-"则去掉strV al = s.substring( 1 );}return new Double( strV al ).doubleV alue();}//将显示框中的值转换为Doubledouble getNumberOnDisplay() {return new Double(t_result.getText()).doubleV alue();//清除屏幕并设置所有的标识void clear(){firsttime = true;lastOp = null;strV al = "";total = 0;number = 0;t_result.setText("0");}}public static void main(String args[]){Calc AppDemo c = new CalcAppDemo("简单的计算器程序");c.setV isible(true);}}四、程序测试程序运行结果如图:,经测试无较大BUG,基本正确。

实验四Java事件处理汽院含答案

实验四Java事件处理汽院含答案

实验四Java事件处理汽院含答案实验四 Java事件处理实验目的1( 掌握Java语言中的事件处理方法2( 掌握Java语言中事件源、监视器和处理事件的接口的概念实验导读1( Java事件处理简介学习组件除了了解组件的属性和功能外,学习组件除了了解组件的属性和功能外,一个更重要的方面是学习怎样处理组件上发生的界面事件。

当用户在文本框中输入文本后按Enter键、单击按钮、在一个下拉列表框中选择一个条目等操作时,都发生界面事件。

在学习处理事件时,必须很好地掌握事件源、监视器、处理事件的接口这三个概念。

事件源:能够产生事件的对象都可以成为事件源,如文本框、按钮、下拉式列表等。

也就是说,事件源必须是一个对象,而且这个对象必须是Java认为能够发生事件的对象。

监视器:需要一个对象对事件源进行监视,以便对发生的事件作出处理。

事件源通过调用相应的方法将某个对象作为自己的监视器。

例如,对于文本框,这个方法是: addActionListener(监视器);对于获取了监视器的文本框,当文本框获得输入焦点之后,如果用户按Enter 键,Java运行系统就自动用ActionEvent类创建一个对象,即发生了ActionEvent事件。

也就是说,事件源获得监视器后,相应的操作就会导致事件的发生,并通知监视器,监视器就会做出相应的处理。

处理事件的接口:监视器负责处理事件源发生的事件。

监视器是一个对象,为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中给出该接口中所有方法的方法体,那么当事件源发生事件时,监视器就自动调用类实现的某个接口中的方法。

2( 文本框上的ActionEvent事件java.awt.event包中提供了许多事件类和处理各种事件的接口。

对于文本框,这个接口的名字是ActionListener,这个接口中只有一个方法: public void actionPerformed(ActionEvent e)当在文本框中输入字符并按Enter键时,java.awt.event包中的ActionEvent 类自动创建一个事件对象,并将它传递给actionPerformed(ActionEvent e)方法中的参数e,监视器自动调用这个方法对发生的事件做出处理。

《java程序设计》实验指导书

《java程序设计》实验指导书

实验一Java实验环境的建立一、实验目的1.掌握Java编程环境的搭建过程;2.掌握Jcreator pro软件的使用方法;3.能使用Java doc文档。

二、实验内容1.下载并安装JDK1.6,配置JDK环境变量;2.下载Javadoc压缩包并解压在JDK安装路径下;3.下载Jcreator pro 4.0并安装和配置使用环境;4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。

①Java application程序代码如下:public class HelloJava{public static void main(String args[]){System.out.println("Hello Java!");}}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){g.drawString("Hello!",30,30);}}三、试验要求1、预习试验内容并写出上机报告。

2、实验中出现的问题及实验体会。

实验二Java语言程序设计训练一、实验目的:1.输入、输出操作实现原理和方法2.掌握程序流程控制的实现方法3.掌握数组的定义和操作方法二、实验内容1.计算Result=1!+2!+3!+ (10)public class TestJieC{public static void main(String arg[]){long result=1;for(int i=1;i<=10;i++){ result=i*result;result+=result;}System.out.println(" "+result);}}2.计算1---50之间所有素数的和。

java综合实验报告

java综合实验报告

java综合实验报告Java 综合实验报告一、实验目的本次 Java 综合实验的主要目的是通过实际的编程项目,深入理解和掌握Java 语言的核心概念、编程技巧以及面向对象的编程思想。

同时,提高解决实际问题的能力,培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容本次实验主要包括以下几个方面的内容:1、Java 基础语法的应用,如变量、数据类型、控制流语句(ifelse、for、while 等)。

2、面向对象编程的实现,包括类、对象、属性、方法、封装、继承和多态等概念的运用。

3、异常处理机制的使用,学会捕获和处理常见的运行时异常。

4、集合框架的操作,如 List、Set、Map 等数据结构的使用。

5、文件 I/O 操作,能够读取和写入文本文件、二进制文件。

四、实验步骤及实现过程(一)基础语法练习首先,进行了 Java 基础语法的练习。

创建了一个简单的控制台应用程序,实现了输入两个整数,计算它们的和、差、积、商,并输出结果。

在这个过程中,熟练掌握了变量的声明和赋值、数据类型的转换、算术运算符和控制流语句的使用。

```javaimport javautilScanner;public class BasicArithmetic {public static void main(String args) {Scanner scanner = new Scanner(Systemin);Systemoutprint("请输入第一个整数: ");int num1 = scannernextInt();Systemoutprint("请输入第二个整数: ");int num2 = scannernextInt();int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;double quotient =(double) num1 / num2;Systemoutprintln("两数之和: "+ sum);Systemoutprintln("两数之差: "+ difference);Systemoutprintln("两数之积: "+ product);Systemoutprintln("两数之商: "+ quotient);scannerclose();}}```(二)面向对象编程实践接下来,通过创建一个“学生”类来实践面向对象编程的概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五J a v a事件处理实验目的
1.掌握Java语言中的事件处理方法
2.掌握Java语言中事件源、监视器和处理事件的接口的概念
实验内容
1.图形用户界面设计程序
在实验三第1题的基础上,添加事件处理机制,并逐步完善程序功能。

分别用ArtFont类的对象做监视器和匿名内部类的对象做监视器实现。

要求实现如下功能:
当在文本框中输入文字后回车,在文本域中显示输入的文字。

当分别选择粗体和斜体复选框时,文本域中的文字分别显示粗体
和斜体样式。

当点击颜色按钮时,出现颜色选择对话框,选择需要的颜色,按
确定按钮后,按钮的前景色和文本域的前景色设置为选定的颜色。

当选择字体样式下拉框中的某一字体样式时,文本域中的文字设
置为指定的字体样式。

当选择字体大小下拉框中的某一字体大小时,文本域中的文字设
置为指定的字体大小。

当选择窗体样式下拉框中的某一窗体效果时,窗体外观改变为指
定的窗体外观。

图1 程序界面运行效果
package Sy;
import .*;
import .*;
public class ArtFont extends JFrame {
static ArtFont artFont;
JComboBox fontType;et(year, month - 1, 1);
int星期几 = 日历.get - 1;
int day = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
day = 31;
}
if (month == 4 || month == 6 || month == 9 || month == 11) {
day = 30;
}
if (month == 2) {
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { day = 29;
} else {
day = 28;
}
}
for (int i = 星期几, n = 1; i < 星期几 + day; i++) {
a[i] = (n);
n++;
}
return a;
}
}
package Sy;
import .*;
import .*;
public class CalendarFrame extends Frame {
Label labelDay[] = new Label[42];
Label labelYear;
Button titleName[] = new Button[7];
Button nextMonth, previousMonth;
Label showMessage;
TextField inputYear;
CalendarBean calendar;
String name[] = { "日", "一", "二", "三", "四", "五", "六" };
int year = 2013, month = 1;
String days[];
public CalendarFrame() {
calendar = new CalendarBean();
(year);
(month);
days = ();
ScrollPane scrollPane = new ScrollPane();
(getCenterPanel());
add(scrollPane, ;etText(days[i]);
}
("日历:" + () + "年"
+ () + "月");
}
});
(new ActionListener() {
public void actionPerformed(ActionEvent e) {
etText(days[i]);
}
("日历:" + () + "年"
+ () + "月");
}
});
(new ActionListener() {
public void actionPerformed(ActionEvent e) {
etText(days[i]);
}
("日历:" + () + "年"
+ () + "月");
}
});
(labelYear);
(inputYear);
(previousMonth);
(nextMonth);
return panel;
}
private Panel getCenterPanel() {
Panel panel = new Panel();
(new GridLayout(7, 7));
etText(days[i]);
}
return panel;
}
private Panel getSouthPanel() {
Panel panel = new Panel();
showMessage = new Label();
("日历:" + () + "年"
+ () + "月");
(showMessage);
return panel;
}
}
package Sy;
import
public class CalendarMainClass {
public static void main(String args[]) {
CalendarFrame frame = new CalendarFrame();
("日历应用程序");
(100, 100, 360, 300);
(true);
();
(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
(0);
}
});
}
}
总结体会:。

相关文档
最新文档