JAVA简单画板程序设计实验报告
java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。
实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。
实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。
实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。
实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。
同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。
结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。
同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。
JAVA程序设计实验报告

JAVA程序设计实验报告实验报告一、实验目的本次实验的主要目的是熟悉并掌握JAVA程序设计的基本知识和技能,通过实验来加深对JAVA的理解和应用。
二、实验内容本次实验主要是设计一个简单的学生信息管理系统,实现学生信息的添加、查找、修改和删除功能。
三、实验步骤1. 首先,创建一个名为Student的类,用于存储学生的信息。
该类需要包含学生的姓名、年龄和学号等信息的私有变量,并提供对应的get和set方法。
2. 接下来,创建一个名为StudentManager的类,用于实现学生信息的管理功能。
该类需要包含一个存储学生信息的List,并提供添加、查找、修改和删除学生信息的方法。
3. 在StudentManager类中,实现添加学生信息的方法。
该方法需要先实例化一个Student对象,然后通过调用Student对象的set方法设置学生信息,并将该学生信息添加到List中。
4. 实现查找学生信息的方法。
该方法需要输入一个学生的学号,并在List中查找对应的学生信息,然后返回该学生的相关信息。
5. 实现修改学生信息的方法。
该方法需要输入一个学生的学号和需要修改的信息,并在List中找到对应的学生信息,然后调用Student对象的set方法修改学生信息。
6. 实现删除学生信息的方法。
该方法需要输入一个学生的学号,并在List中找到对应的学生信息,然后将该学生信息从List中删除。
7. 在主函数中,创建一个StudentManager对象,然后可以通过调用StudentManager对象的方法来实现学生信息的管理。
四、实验结果通过运行程序,可以实现对学生信息的添加、查找、修改和删除等功能,可以有效地管理学生的信息。
五、实验总结通过本次实验,我进一步加深了对JAVA程序设计的理解和应用。
学会了如何创建类、定义变量、编写方法以及使用集合等技能。
同时,我也体会到了实验的重要性,通过实验加深了对理论知识的掌握,提高了解决问题的能力。
JAVA绘图实验报告

南京工程学院 实 验 报 告 课程名称 java基础 实验项目名称 图形用户界面设计 实验学生班级 实验学生姓名 学 号 同组学生姓名 无 实验时间 2012年11月 实验地点 实验成绩评定 指导教师签字 年 月 日一、实验目的和要求1.目的:掌握java awt及swing组件的使用方法,包括窗口、框架、对话框、布局方式、面板、文本编辑器、按钮、组合框等,合理利用委托事件处理模型,掌握不同组件,不同事件的事件处理方法,设计出能够响应事件的java图形用户界面。
2.要求:设计图形用户界面,事件处理,异常处理并弹出对话框,提示重新输入信息。
二、实验题目 验证哥德巴赫猜想,添加图形用户界面三、实验方法与步骤(需求分析、算法设计思路、流程图等)1.添加图形用户界面 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class gdbh extends frame implements actionlistener //窗口框架响应单击事件,利用awt组件设计框架 {private button button; //按钮 private textfield text1; //文本行 private textarea text2; //文本区 public gdbh() {super(验证哥德巴赫猜想); //设置框架窗口标题 this.setbounds(450, 200, 350, 400); //设置框架的位置和尺寸 this.setresizable(false); // 设置框架大小不可改变 this.setbackground(color.lightgray); //设置窗口背景颜色 this.setlayout(new flowlayout()); // 默认窗口流布局 中对齐 this.add(new label(输入一个整数)); text1=new textfield(,20); this.add(text1); button=new button(验证哥德巴赫猜想); this.add(button); button.addactionlistener(this); //为按钮注册单击事件监听器,委托当前对象处理事件 this.setlayout(new flowlayout()); //默认中对齐 text2=new textarea(20,25); text2.seteditable(false); this.add(text2); this.setvisible(true); //设置组件可见 this.addwindowlistener(new winclose()); // 为框架注册窗口事件监听器,委托winclose对象处理事件 }2.实现单击事件和窗口事件监听器接口 public void actionperformed(actionevent e) //单击事件处理方法,实现actionlistener接口 {string str =text1.gettext(); //获得文本行的字符串try {long num = long.parselong(str); // 将字符串转化成长整形text2.settext(yz(num)); }catch(numberformatexception n) {joptionpane.showmessagedialog(this, \+str+\字符串不能转换成整数,请重新输入!!); return; }}class winclose implements windowlistener //实现窗口事件监听器接口 {public void windowclosing(windowevent e) // 窗口关闭事件处理方法 {system.exit(0); //程序运行结束 } public void windowopened(windowevent e) {} public void windowclosed(windowevent e) {} public void windowiconified(windowevent e) {} public void windowdeiconified(windowevent e) {} public void windowactivated(windowevent e) {} public void windowdeactivated(windowevent e) {} }3.异常处理 若文本行中的字符串不能转化成长整形,将弹出对话框“字符串不能转换成整数,请重新输入!!;另外如果所输入的整数为小于等于2或大于2小于等于5 也会弹出一个对话框“输入错误!必须是大于2的偶数或大于5的奇数!!”(该窗口代码设置在yz()函数中)。
《Java程序设计》实验报告 --实验3

else if(e.getSource()==buttontwo){//按键2操作
tf.setText(tf.getText()+"2");
flag1=Double.parseDouble(tf.getText());
}
else if(e.getSource()==buttonthree){//按键3操作
buttondevision=new JButton("/");
buttonsin=new JButton("sin");
buttontozero=new JButton(">0");
paneleast.setLayout(new GridLayout(3,1));//设置西边的布局为3行1列
//将操作按钮"+""-""*""/""sin"">0"添加到西边的面板中
JButton buttonplus,buttonminus,buttonmultiple,buttondevision,
buttonsin,buttontozero;//新建按钮"+""-""*""/""sin"和归零按钮
JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,
panelcenter.add(buttonthree);
panelcenter.add(buttonfour);
panelcenter.add(buttonfive);
java图形实验报告

java图形实验报告《Java图形实验报告》摘要:本实验通过使用Java编程语言,利用图形界面设计工具和图形库,实现了一个简单的图形界面程序。
本实验主要包括了界面设计和图形绘制两个部分,通过实验过程,我们深入了解了Java图形界面编程的基本原理和实现方法。
一、实验目的1. 了解Java图形界面编程的基本原理和实现方法;2. 掌握Java图形界面设计工具的使用;3. 掌握Java图形库的使用;4. 实现一个简单的图形界面程序。
二、实验内容1. 界面设计:使用Java图形界面设计工具,设计一个简单的界面,包括按钮、文本框等基本组件;2. 图形绘制:利用Java图形库,实现在界面上绘制简单的图形,如直线、矩形等。
三、实验步骤1. 界面设计:使用Java图形界面设计工具,创建一个新的界面窗口,添加按钮和文本框等组件,设置它们的位置和大小;2. 图形绘制:在界面上添加一个画布组件,利用Java图形库在画布上绘制简单的图形,如直线、矩形等;3. 编写Java代码,实现界面和图形的交互功能,如按钮点击事件等。
四、实验结果通过实验,我们成功实现了一个简单的图形界面程序。
界面上包括了按钮和文本框等组件,通过按钮点击事件,可以在画布上绘制直线、矩形等图形。
五、实验总结通过本次实验,我们深入了解了Java图形界面编程的基本原理和实现方法,掌握了Java图形界面设计工具和图形库的使用。
通过实验过程,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。
六、参考资料1. 《Java图形界面编程实例详解》;2. 《Java图形库使用手册》。
通过本次实验,我们对Java图形界面编程有了更深入的认识,为以后的学习和实践打下了坚实的基础。
希望通过今后的实践和学习,能够更加熟练地运用Java图形界面编程技术,实现更加复杂和丰富的图形界面程序。
《Java程序设计》课程综合性实验报告_简易写字板软件设计

华北科技学院计算机系综合性实验实验报告课程名称Java程序设计实验学期2011 至2012 学年第 1 学期学生所在系部基础部年级2009 专业班级计算B092学生姓名学号任课教师实验成绩计算机系制《Java程序设计》课程综合性实验报告6.图表 1记事本的整体布局JMenuBar();setJMenuBar(menuBar);JMenu[5];new JMenuItem[menu.length][];8.图表 2文件菜单栏 JMenuItem[5];[1]=new JMenuItem[7];[2]=new JMenuItem[2];[3]=new JMenuItem[1];9.图表 3编辑菜单栏[1][0]=new JMenuItem("剪切(X)");[1][0].setMnemonic('X');b)13.图表 5字体设置选项;menuItem[][], popupMenuItem[];popupMenu;;, cbSize, cbStyle; curFileName;new String[2];15.图表 6帮助栏选项 (ae.getSource()==menuItem[4][0])JOptionPane.showMessageDialog(null, 基础部,计算B092 赵礼阳",记事本",RMATION_MESSAGE);18.图表 7打开功能open()JFileChooser fc=new JFileChooser();(fc.showOpenDialog(this)==JFileChooser.APPROVE_OPTIONString _curFileName=fc.getSelectedFile().getAbsolutePath();File file=new File(_curFileName);(file.exists())20.图表 8保存及另存为功能saveAs()JFileChooser fc=new JFileChooser();fc.setDialogTitle("另存为");(fc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION boolean overwrite=false;原文已完。
java程序设计实验报告

java程序设计实验报告
实验一:实现个人信息管理系统
实验目的:学习如何使用Java语言来完成一个简单的面向对象程序设计。
实验内容:
本次实验的任务是开发一个个人信息管理系统,可以完成一些基本的信息管理功能,如增加、删除、查询和修改个人信息等。
实验步骤:
1. 定义Person类并实现其属性和方法。
2. 在主类中实现简单的用户交互界面。
3. 实现文件持久化,将程序中的信息储存在文件中。
4. 实现增加、删除、查询和修改个人信息的功能。
实验结论:
通过本次实验,我学会了如何使用Java语言来实现一个简单的面向对象程序设计。
在开发过程中,我学会了如何定义类、实现属性和方法,如何进行用户交互界面的设计,以及如何将程序中的信息储存在文件中。
Java实验报告一及作业总结二

Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。
例如,153是⼀个“⽔仙花数”。
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
3. 编程求1!+2!+3!+…+20!。
4. 编写Java程序,计算8+88+888+…前10项之和。
5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。
编写程序输出1000以内的所有完数。
6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。
7. 使⽤for循环打印下⾯的图形。
三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。
例如,153是⼀个“⽔仙花数”。
实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。
实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。
实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。
编写程序输出1000以内的所有完数。
实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。
实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。
四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。
总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA期末画板实验报告课程题目:运用JAVA语言编写一个画板程序,这个画板要有画图,特殊图形绘制,颜色改变,画笔大小改变等功能。
设计思想:1.进行界面设计2.进行算法实现3.运行调试4.总结问题设计过程:A.界面设计新建一个Jframe容器,然后定义一个panel(Panel convas2),convas2是工具栏。
用borderlayout布置容器的边框布局,将工具栏放在NORTH部分。
完成界面设计。
add(canvas2,BorderLayout.NORTH);Panel canvas2 = new Panel();添加工具按键Panel canvas2 = new Panel();Button btn1 = new Button("直线");Button btn2 = new Button("椭圆");Button btn3 = new Button("矩形");Button btn4 = new Button("清除");Button btn5 = new Button("画笔");Button btn6 = new Button("橡皮");Choice choice = new Choice();Choice choice1 = new Choice();canvas2.add(choice);canvas2.add(choice1);canvas2.add(btn1);canvas2.add(btn2);canvas2.add(btn3);canvas2.add(btn4);canvas2.add(btn5);canvas2.add(btn6);在工具表中,有两个下拉菜单,分别收录画笔的大小和颜色。
1.画笔的大小:choice1.add("1");choice1.add("3");choice1.add("5");choice1.add("7");choice1.add("9");2.画笔颜色choice.add("黑色");choice.add("蓝色");choice.add("红色");choice.add("黄色");choice.add("绿色");3展示画板B.算法实现运用画板,首先要对工具栏按键和鼠标进行监听,然后对监听进行响应。
运行相应程序进行画图1.监听程序展示:choice.addItemListener(this);choice1.addItemListener(this);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);btn4.addActionListener(this);btn5.addActionListener(this);btn6.addActionListener(this);addMouseListener(this);addMouseMotionListener(this);2.按键监听响应监听到按键后,判断当前会话工具public void actionPerformed(ActionEvent e) {if(e.getSource().equals(btn1)){a='1';}if(e.getSource().equals(btn2)){a='2';}if(e.getSource().equals(btn3)){a='3';}if(e.getSource().equals(btn4)){Graphics g = this.getGraphics();g.clearRect(0, 0, this.getWidth(), this.getHeight());}if(e.getSource().equals(btn5)){a='4';}if(e.getSource().equals(btn6)){a='5';}}定义一个变量a,对按键监听进行响应,例如当监听到btn1时赋值a=‘1’(a为char型),即当前工具为直线。
但是当监听到btn4时不进行对a赋值而是直接进行清除操作,由于清除操作是对画布进行清除,不参与鼠标事件,因此可以直接执行。
3.鼠标监听响应a.鼠标按钮按下事件,获取画图起始坐标x0,y0.public void mousePressed(MouseEvent e){x0=e.getX();y0=e.getY();}b.鼠标移动事件public void mouseMoved(MouseEvent e){}c.鼠标按钮松开事件,此次响应完成对直线,椭圆,矩形进行绘制。
public void mouseReleased(MouseEvent e){Graphics2D g = (Graphics2D)this.getGraphics();size=newBasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);g.setColor(b);g.setStroke(size);switch(a){case'1':g.drawLine(x0, y0, e.getX(), e.getY());break;case'2':g.drawOval(x0, y0, e.getX() - x0, e.getY() - y0);break;case'3':g.drawRect(x0, y0, e.getX() - x0, e.getY() - y0);break;}}d.鼠标进入事件:public void mouseEntered(MouseEvent e){}e.鼠标离开事件:public void mouseExited(MouseEvent e){}• f.鼠标单击事件:public void mouseClicked(MouseEvent e){}g.鼠标拖动事件:此次响应实现画笔(随笔画),橡皮的绘制。
public void mouseDragged(MouseEvent e) {Graphics2D g = (Graphics2D)this.getGraphics();size=newBasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);g.setColor(b);g.setStroke(size);switch(a){case'4':g.drawLine(x0, y0, e.getX(), e.getY());x0 = e.getX();y0 = e.getY();break;case'5':g.clearRect(x0 - 10, y0 - 10, 20, 20);x0 = e.getX();y0 = e.getY();break;}}4.下拉列表响应a.颜色下拉列表响应:if(e.getSource()==choice){if(choice.getSelectedIndex()==0)b=Color.black;if(choice.getSelectedIndex()==1)b=Color.BLUE;if(choice.getSelectedIndex()==2)b=Color.red;if(choice.getSelectedIndex()==3)b=Color.yellow;if(choice.getSelectedIndex()==4)b=Color.green;}调用choice.getSelectedIndex()返回被选中的选项的序号(下拉列表中第一个选项序号为0,依次递加。
)即进行选择颜色的操作b.画笔大小下拉列表响应:if(e.getSource()==choice1){if(choice1.getSelectedItem()=="1"){con=1;}else if(choice1.getSelectedItem()=="3"){con=3;}else if(choice1.getSelectedItem()=="5"){con=5;}else if(choice1.getSelectedItem()=="7"){con=7;}else if(choice1.getSelectedItem()=="9"){con=9;}}调用choice1.getSelectedItem()返回被选中选项的标签文本字符串,即确定画笔的大小(con)。
5.工具栏工具实现程序详解(1)Graphics2D g = (Graphics2D)this.getGraphics();size=new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);g.setColor(b);g.setStroke(size);绘制图形用到类Graphics2D,其中包括很多绘制图形的方法,定义一个Graphics2D类g,用getGraphics()来得到一个Graphics2D对象,它相当于组建的绘图环境,可以进行各种绘图操作。
size=newBasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);定义一个BasicStroke类 size来确定画笔的大小,其中BasicStroke类定义针对图形图元轮廓呈现属性的一个基本集合,这些图元使用 Graphics2D 对象呈现,而该对象的 Stroke 属性设置为此 BasicStroke。
其中con 为画笔宽度,CAP_BUTT指无装饰地结束未封闭的子路径和虚线线段,JOIN_BEVEL通过直线连接宽体轮廓的外角,将路径线段连接在一起。
(以上内容为网上查找资料所得。
)(2)实现直线,椭圆,矩形绘制:switch(a){case'1':g.drawLine(x0, y0, e.getX(), e.getY());break;case'2':g.drawOval(x0, y0, e.getX() - x0, e.getY() - y0);break;case'3':g.drawRect(x0, y0, e.getX() - x0, e.getY() - y0);break;}(3)随笔画和橡皮switch(a){case'4':g.drawLine(x0, y0, e.getX(), e.getY());x0 = e.getX();y0 = e.getY();break;case'5':g.clearRect(x0 - 10, y0 - 10, 20, 20);x0 = e.getX();y0 = e.getY();break;}6.主类程序得以运行的入口,进入主类后即运行litao()类。