Java课程第四次实验报告
java实验报告4

实验4 Java 语言面向对象基础编程一.实验目的(1)通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想(2)如何创建类和对象二、实验要求1、编写一个体现面向对象思想的程序;2、编写一个创建对象和使用对象的方法的程序;3、编写体现构造方法重载的程序;三.实验内容1、定义类创建类对象设计类来描述真实客观世界中的事物,使用类的成员变量来表示事物的属性和状态,使用类的成员方法来提供对成员变量的访问或修改(1)程序功能:设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。
源代码:(自己编写)创建类的对象,使用对象的方法(类的非静态方法)来访问或修改对象的变量(类的非静态变量)(1)创建上面第一步的类的对象,在调用类的构造函数时指定对象的变量的初始值,以后再使用对象的方法来访问或修改对象的变量的值。
源代码:2、构造方法重载构造方法的名称和类同名,没有返回类型。
尽管构造方法看起来和一般的成员方法没有差别,但它不是方法,也不是类的成员。
因此,构造方法不能直接调用,只能由new 操作符调用。
构造方法对于类是十分重要的,对象的初始化任务要靠构造方法来完成。
重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。
源代码如下:class RunDemo {private String userName, password;在该处编写不带参数的构造方法在该处编写带一个参数的构造方法在该处编写带两个参数的构造方法}public class EXP2 {public static void main(String[] args) {//使用不同的构造方法进行对象的初始化}}3、调用方法时参数传递的练习在Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。
南昌大学java实验报告4

南昌大学实验报告学生姓名:学号:专业班级:网络工程091实验类型:□验证□综合□设计□创新实验日期:2012.5.18 实验成绩:实验四简单的万年历一、实验目的学习使用布局类。
二、实验任务编写一个应用程序,有一个窗口,该窗口为BorderLayout布局。
窗口的中心添加一个Panel容器:pCenter,pCenterd的布局是7行7列的GridLayout布局,pCenter中放置49个标签,用来显示日历。
窗口的北面添加一个Panel容器pNorth,其布局是FlowLayout布局,pNorth放置两个按钮:nextMonth和previousMonth,单击nextMonth按钮,可以显示当前月的下一月的日历;单击previousMonth按钮可以显示当前月的上一月的日历。
窗口的南面添加一个Panel容器pSouth,起布局是FlowLayout,pSouth中放置一个标签用来显示一些信息。
三、实验内容编译并运行程序,查看结果。
程序如下:CalendarFRame.javapackage calendar;import java.awt.BorderLayout;import java.awt.Button;import java.awt.GridLayout;import bel;import java.awt.Panel;import java.awt.ScrollPane;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;public class CalendarFrame extends JFrame implements ActionListener { Label labelDay[]=new Label[42];Button titleName[]=new Button[7];String name[]={"日","一","二","三", "四","五","六"};Button nextMonth,previousMonth;int year=2012,month=5;CalendarBean calendar;Label showMessage=new Label("",Label.CENTER);public CalendarFrame(){Panel pCenter=new Panel();pCenter.setLayout(new GridLayout(7,7));//将pCenter的布局设置为7行7列的GridLayout 布局。
java实验四报告

任课教师:《JAVA程序设计》()实验报告学号:姓名:班级:实验指导书实验名称:图形用户界面实验学时安排:2实验类别:综合设计型实验实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1、掌握Java GUI主要的类及方法的创建及使用。
2、掌握Java 各种布局管理器的创建及使用。
3、掌握Java 对GUI的监听机制原理及主要GUI的监听接口。
4、通过试验,能够应用GUI类及布局管理器设计能够相应用户请求简单的图形界面二、实验内容P156 习题21)要求1: 在界面要求的基础上,增加菜单,包含菜单有-文件(打开保存退出等) 编辑(字体-粗体斜体颜色-红绿蓝) 帮助2:使用swing控件:JTextField, JComboBox, JCheckBox, JRadioButton3.事件响应(1)点击确定按钮时,将选择的个人姓名省份等信息显示在文本框内2)步骤•1)实现接口implements ActionListener•2) 设置确定按钮的监听者 buttonok.addActionListener(this);•3)动作实现•public void actionPerformed(ActionEvent e){ .. …. }•1)接口 JTextField 内容改变-DocumentListener•2)监听者 Document dt;•dt = textname.getDocument();•dt.addDocumentListener(this);•3) public void changedUpdate(DocumentEvent e)• {•if(e.getDocument()==dt){ }• }•public void insertUpdate(DocumentEvent e)• {•if(e.getDocument()==dt){ }• }•public void removeUpdate(DocumentEvent e) { }•JComboBox, JCheckBox, JRadioButton 选项内容改变- ItemListener public void itemStateChanged(ItemEvent e){if(e.getSource()==combopro)if(e.getStateChange()==ItemEvent.SELECTED)str=str+combopro.getSelectedItem().toString();……}三、程序代码package E26.test;import java.awt.*;import java.awt.event.*;import javax.swing.*;class aa extends JFrame implements ActionListener{Button b1,b2;TextArea textarea1;JTextField text1=new JTextField(5);JComboBox provincechoice;JCheckBox c[];String habits[]={"体育","音乐","美术"};ButtonGroup group;JRadioButton f,g;aa(String s){super(s);setSize(290,440);setLocation(120,120);setVisible(true);JMenuBar menubar;JMenu file,edit,font,color;JMenuItem jopen,jsave,jout,bold,italic,red,green,blue;menubar=new JMenuBar();file=new JMenu("文件");jopen=new JMenuItem("打开");jsave=new JMenuItem("保存");jout=new JMenuItem("退出");file.add(jopen);file.add(jsave);file.add(jout);edit=new JMenu("编辑帮助");font=new JMenu("字体");bold=new JMenuItem("粗体");italic=new JMenuItem("斜体");color=new JMenu("颜色");red=new JMenuItem("红色");green=new JMenuItem("绿色");blue=new JMenuItem("蓝色");font.add(bold);font.add(italic);color.add(red);color.add(green);color.add(blue);edit.add(font);edit.add(color);menubar.add(file);menubar.add(edit);setJMenuBar(menubar);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);Container contenePane=this.getContentPane();FlowLayout flow=new FlowLayout();flow.setAlignment(FlowLayout.LEFT);flow.setHgap(8);flow.setVgap(8);GridLayout grid=new GridLayout();Box firstline,secondline,thirdline,basebox;firstline=Box.createVerticalBox();firstline.add(new Label("姓名:"));firstline.add(text1);firstline.add(new Label("省份:"));String p[]={"湖南","浙江","江西"};provincechoice=new JComboBox<String>(p);provincechoice.setSelectedIndex(1);provincechoice.addActionListener(this);firstline.add(provincechoice);firstline.setLayout(flow);firstline.validate();secondline=Box.createVerticalBox();secondline.add(new Label("爱好:"));c=new JCheckBox[3];for(int i=0;i<3;i++){c[i]=new JCheckBox(habits[i]);add(c[i]);}secondline.add(new Label("性别:"));group=new ButtonGroup();f=new JRadioButton("男");g=new JRadioButton("女");group.add(f);group.add(g);secondline.add(f);secondline.add(g);secondline.setLayout(flow);secondline.validate();basebox=Box.createHorizontalBox();basebox.add(firstline);basebox.add(secondline);contenePane.add(basebox);textarea1=new TextArea(10,30);add(textarea1);b1=new Button("确定");b2=new Button("取消");add(b1);add(b2);b1.addActionListener(this);b2.addActionListener(this);contenePane.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==b1){String n=text1.getText();String x=provincechoice.getSelectedItem().toString();String y[]=new String[3];String s;if(group.getSelection()==f.getModel())s="男";elses="女";int j=0,k=0;for(j=0,k=-1;j<3;j++){if(c[j].isSelected()){k++;y[k]=habits[j];}}textarea1.append("姓名:"+n+"\n\n"+"省份:"+x+"\n\n"+"爱好:");for(j=0;j<3;j++){while(y[j]!=null){textarea1.append(y[j]+" ");break;}}textarea1.append("\n\n"+"性别:"+s+"\n\n");}if(e.getSource()==b2){textarea1.setText("");}}}public class awt {public static void main(String args[]){Firstwindows win=new Firstwindows("简单窗口");}}四、运行结果与测试分析五、心得体会本次实验由书上个例子中找相似的,完成最终设计,比较麻烦。
java实验报告4

学生实验报告(2009—2010学年第一学期)课程名称:基于java的web编程技术开课实验室:2301 2009年 12月 25 日一、实验目的及内容目的:掌握JSP中Java Bean的使用及Java中数据库编程的步骤和方法。
内容:1.编写一个Web应用程序,该程序实现以下网站登录功能:●用户通过HTML表单将帐号、密码提交给一个Servelet;●该Servelet通过查询数据库,若帐号、密码正确,则通过数据库查询到的信息创建对应帐号的Java Bean对象(该对象的属性可包括:帐号、姓名、年龄等),并将该对象存储于Session中,然后跳转到一个JSP页面中(跳转可以由方法response.sendRedirect (String URL)实现),若帐号或密码不正确,则跳转到error.html(该页面显示“帐号或密码错误!”);●在JSP中,通过<jsp:useBean/>获取存储于Session中的Java Bean对象,通过<jsp:getProperty/>获取并显示Java Bean对象的属性。
●数据库对应表所包含的字段可包括帐号、密码、姓名、年龄等。
二、实验要求1.程序结构清晰,运行正确。
2.给出上面Servlet和JSP的设计、代码及运行结果。
3.请回答:在Java中使用JDBC的步骤是什么?三、实验步骤1.首先是新建一个web应用程序此处命名为Test4,在该程序中添加如下的文件:Login.html,StuInfo.jsp,ShowError.jsp三个文件,同时新建一个名为Student的包,并且在包下添加一个名为SelectStudent.java的servlet类和一个名为StuBean.java的类。
添加完成后如下图所示:2.编辑登录页面。
其关键代码和最终界面如下所示:<head><title>第四次实验报告</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><BODY BGCOLOR="#FDF5E6"><H1 ALIGN="CENTER">用户登录</H1><FORM ACTION="/Studnet/SelectStudent"><CENTER><table><tr> <td align="right">name:</td><td><INPUT TYPE="TEXT" NAME="Name"></td></tr><tr><td align="center">PassWord:</td><td><INPUT TYPE="TEXT" NAME="Number"></td></tr></table><INPUT TYPE="SUBMIT" VALUE="Login" ></CENTER></FORM></BODY>3.servlet类SelectStudent.java用来查询数据库,若name、Password正确,则通过数据库查询到的信息存储于Session中,然后跳转到一个StuInfo.jsp页面中,若帐号或密码不正确,则跳转到ShowError.jsp(该页面显示“帐号或密码错误!”);其主要代码如下所示:public class ThreeParams extends HttpServlet {@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String dbURL = "jdbc:sqlserver://192.168.1.200:1433; DatabaseName=Student"; //定义连接服务器和数据库Student的字符串String userName = "sa"; //默认用户名String userPwd = "kmust"; //密码Connection dbConn;String selName = new String();String selSex = new String();String selNumber = new String();String Name = request.getParameter("Name"); //获取表单姓名String Number = request.getParameter("Number");//获取表单密码try {Class.forName(driverName); //加载JDBC驱动dbConn = DriverManager.getConnection(dbURL, userName, userPwd); //建立连接Statement statement = dbConn.createStatement();String selcom = "select * from StuInfo where Number ='"+Number+"' ";ResultSet resultSet = statement.executeQuery(selcom);while (resultSet.next()) {selName = resultSet.getString("Name");selSex = resultSet.getString("Sex");selNumber = resultSet.getString("Number");}dbConn.close(); //关闭数据库连接if (selName.equals(Name)){HttpSession session = request.getSession(); //建立会话保并存查询结果session.setAttribute("name", selName);session.setAttribute("number", selNumber);session.setAttribute("sex", selSex);response.sendRedirect ("StuInfo.jsp"); //}else{HttpSession session = request.getSession();//保存当前表单数据session.setAttribute("name", Name);session.setAttribute("number", Number);response.sendRedirect("ShowError.jsp");}}catch (Exception e) {e.getMessage();} }}4.建立一个类名为StuBean.java,用来实现学习使用javaBean。
java第四次实验报告

this.year = year;
this.day = day;
}
public void ChangeToDate(Date1 date) {
String Month[] =
{
"January","Februry","March", "April", "May","June",
{"drove","jumped","ran","walked","skiped"},
{"to","from","over","'under","on"},
{"the","a","one","some","any"},
{"boy","girl","dog","town","car"} };
TextArea output;
Button m;
int b,c;
public void init() {
output=new TextArea(25,50);
m=new Button("开始");
add(output);
add(m);
}
public boolean action(Event e,Object o){
output.setText ("");
java4次实验

if(ID==this.ID) return this.score; else return -1; } public static void main(String[] args) { Student s=new Student(); s.SetRecord(0,"alex",100); float Sco=s.getRecord(0); System.out.print(Sco); } }
import javax.swing.JApplet;//引入类 JApplet import javax.swing.JLabel;//引入标签类 JLabel public class HelloWorldApplet extends JApplet{
public void init(){ System.out.println("init Applet");
for(i=0;i<=10;i++) System.out.println(10+i+"的平方值"+a[i]); } public static void main(String args[]) { printSquare(); } }
实验二 类与对象 实验目的 1、 掌握面向对象程序设计的方法和 Java 作为面向对象程序设计语言的特点; 2、 掌握修饰符和构造方法的使用规则; 3、 掌握接口的特点、结构、调用和继承; 4、 掌握如何创建包,通过包如何管理类; 5、 掌握 Java 的继承机制和实现多态的方法 实验内容 1 定义一个类 Student,属性为学号、姓名和成绩;方法为增加记录 SetRecord 和得到记录 GetRecord。SetRecord 给出学号、姓名和成绩的赋值,GetRecord 通过学号得到考生的成绩。
Java程序设计实验报告4

课程实验报告
的文件对象,然后对str中的每个对象调用isFile()方法判断是否是文本文件,并计数输出
(4)在外层使用for循环对每个文本文件遍历行数
(5)在内层创建FileReader类的对象reader1和BufferedReader类的对象reader2,设置行数rows=0,分别读每个文本文件计算行数
调试过程及实验结果1. 2.
总结通过第一个实验我熟悉了BufferedReader、BufferedWriter等流类的相关使用方法,掌握了向文件中读写数据的基本步骤;通过第二个实验我掌握了Java File类相关方法的调用和使用,熟悉对文本文件和非文本文件基本方法的使用。
附录(手抄源程序清单,对关键步骤需要添加注释,写在报告背面即可,无需附页,严禁打印)
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;。
java_实验四

武汉工程大学计算机科学与工程学院实验报告[4]一、实验目的1)了解Java.awt包及Swing的新增特性。
2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。
3)了解图形用户界面的事件响应机制。
4)了解图形用户界面各种常用的基本组件的使用方法及其事件响应。
5)掌握Java常用组件的应用6)掌握图形用户界面各种布局策略的设计与使用二、实验要求1)创建一个简单的图形用户界面。
2)使用Java类库中提供的组件,并添加到图形用户界面中。
3)通过Java事件处理机制,实现与用户的交互信息。
4)练习使用布局管理器5)使用Java类库中提供的组件,并添加到图形用户界面中6)通过Java事件处理机制,实现与用户的交互信息三、实验内容对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。
因为只有通过图形界面,用户才能够与程序友好的交互。
缺少良好的图形用户界面,将会给用户理解和应用程序带来很多不便。
创建一个完整的图形用户界面的应用程序大致流程如下:1)引用需要的包和类。
2)设置一个顶层的容器。
3)根据需要为容器设置布局管理器或使用默认布局管理器。
4)将组件添加到容器内,位置自行设计。
5)为响应事件的组件编写事件处理代码。
下面我们先建立一个简单的图形用户界面,然后通过合适的布局管理器,将各种常用组件添加到图形用户界面中,实现与用户的交互信息。
1. 创建简单的图形用户界面(1)创建简单的 Frame 框架在 AWT 库中,对应于框架的类是 Frame,在 Swing 库中,相应的类是 JFrame。
JFrame 类扩展了 Frame 类。
大部分 ATWT 组件在 Swing 中都有等价的组件,它们在表示形式上差一个“J”。
框架是一个容器,可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。
下面的例子是建立一个 Frame 框架,通过这个例子学习如何创建一个简单的图形用户界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.编写一个有两个线程的程序,第一个线程用来计算2~100000之间的质数及个数,第二个线程用来计算100000~200000之间的质数及个数。
四、实验小结(包括问题和解决方法、心得体会等)
五、指导教师评语
成绩
批阅人
日期
1.了解和掌握Java中GUI组件和界面化设计
2.掌握Java中创建线程对象的方法
3.熟悉控制线程状态的过程
二、实验环境(实验设备)
1.每位学生配备计算机一台
2.计算机需安装好JDK和Jcreator
三、实验内容
1.编写一个应用程序,利用两个文本框对象input1和input2,接收用户从键盘输入的两个整型数。当用户单击“计算”按钮时,可进行算术计算,并输出运算结果;运算结果放在多行文本域JTextArea组件中。
实验报告
(2016 / 2017学年第2学期)
课程名称
JAVA语言程序设计
实验名称
GUI综合应用开发、线程
实验时间
2017
年
月
日
指导单位
计算机学院/软件学院
软件教学中心
指导教师
崔红燕
学生名
班级学号
学院(系)
专业
实验名称
GUI综合应用开发、输入输出流、线程
指导教师
实验类型
上机
实验学时
2
实验时间
一、实验目的