Java程序设计 实验四
- 格式:doc
- 大小:35.50 KB
- 文档页数:2
实验1 JAVA编程基础一、实验目的1、熟练掌握JDK编写调试Java应用程序及Java小程序的方法;2、熟练掌握Java应用程序的结构;3、了解Java语言的特点,基本语句、运算符及表达式的使用方法;4、熟练掌握常见数据类型的使用;5、熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;6、熟练掌握数组和字符串的使用。
二、实验要求1、编写程序要规范、正确,上机调试过程和结果要有记录;2、做完实验后给出本实验的实验报告。
三、实验设备、环境安装有JDK、Eclipse软件的计算机。
四、实验步骤采用记事本编写一个简单的应用程序(1)新建一个记事本文件,重新命名为Hello.java(2)打开记事本,输入以下内容(注意大小写):public class Hello{public static void main(String args[]){System.out.println("hello hello");}}(3)请记录程序编译和执行的步骤,并附上运行结果图。
进入文件所在目录cd class\java\java_ex1编译N:\class\java\java_ex1>javac Hello.java运行java Hello结果:五、实验内容1、从键盘上输入学号、班级和姓名,并附上运行结果图。
import java.util.Scanner;public class KeyboardDemo {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.print("请输入班级:");String cls = scan.nextLine();System.out.print("请输入姓名:");String name = scan.nextLine();System.out.print("请输入学号:");String num = scan.nextLine();System.out.println("班级:"+cls+" 姓名:"+name+" 学号"+num);}}2、编写一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符(if)。
Java语言程序设计形考任务4课程实验1. 实验介绍Java语言程序设计作为一门重要的编程语言,在计算机科学和软件工程领域拥有广泛的应用。
形考任务4课程实验旨在帮助学生加深对Java语言程序设计的理解,并提升他们的编程能力。
本实验将涉及Java语言的基本语法、面向对象编程、异常处理、图形用户界面等方面的知识,帮助学生全面掌握Java编程的基本技能。
2. 实验内容任务4课程实验的内容包括但不限于以下几个方面:2.1 面向对象编程在本实验中,学生将学习如何利用Java语言实现面向对象编程。
他们需要掌握类与对象的概念,了解封装、继承和多态等面向对象的基本特性。
通过实践,他们将能够设计和实现自定义的类和对象,提高代码的复用性和可维护性。
2.2 异常处理异常处理是Java语言中的重要内容之一。
在本实验中,学生将学习如何使用try-catch-finally语句块来捕获和处理程序中的异常。
他们需要了解异常的类型和层次结构,掌握如何编写自定义异常类,并能够有效地处理各种可能出现的异常情况。
2.3 图形用户界面图形用户界面是现代软件开发中不可或缺的一部分。
学生将学习如何利用Java的Swing组件来设计和实现图形用户界面。
他们需要掌握窗口、面板、按钮、文本框等组件的基本用法,以及布局管理器、事件处理等相关知识。
通过本实验,他们将能够开发简单但功能完善的GUI应用程序。
3. 实验意义形考任务4课程实验对于学生而言具有重要的意义。
通过实践操作,学生将能够加深对Java语言程序设计相关知识的理解,提升编程能力和解决问题的能力。
本实验还能够培养学生的团队合作精神和创新意识,让他们在实践中学会思考和探索。
形考任务4课程实验将为学生的今后的学习和工作打下坚实的基础,为他们未来的发展铺平道路。
4. 个人观点作为Java语言程序设计形考任务4课程实验的文章写手,我深知这个实验对学生的重要性。
在撰写本文的过程中,我着重强调了实验的内容、意义和个人观点,希望能够帮助学生更好地理解并掌握Java语言程序设计的相关知识。
《Java程序设计》实验指导实验四继承与多态一、实验目的:1.掌握类的继承方法。
2.掌握变量的继承和覆盖。
3.掌握方法的继承、重载和覆盖。
4.了解接口的实现方法。
二、实验原理新类可从现有的类中产生,并保留现有类的成员变量和方法,并可根据需要对它们加以修改。
新类还可添加新的变量和方法。
这种现象就称为类的继承。
当建立一个新类时,不必写出全部成员变量和成员方法。
只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。
被继承的类称为父类或超类(superclass),这个新类称为子类。
Java 提供了一个庞大的类库让开发人员继承和使用。
设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。
你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。
所以,通常要对子类进行扩展,即添加新的属性和方法。
这使得子类要比父类大,但更具特殊性,代表着一组更具体的对象。
继承的意义就在于此。
语法格式:类访问限定符子类名extends 父类名{……}三、实验内容及要求:1. 定义一个接口(ShapeArea),其中包含返回面积的方法(getArea)。
定义一个矩形类(Rectangle),派生出一个正方形类(Square),再定义一个圆类(Circle),三者都要求实现接口ShapeArea,自行扩充成员变量和方法。
在主方法中建一数组,数组中放入一些上述类型的对象,并计算它们的面积之和。
2. 运行下面的程序,理解成员变量的继承与隐藏,方法的覆盖与重载。
class A{int sum,num1,num2;public A(){num1=10;num2=20;sum=0;}void sum1(){sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum2(int n){num1=n;sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}}class B extends A{int num2;public B(){num2=200;}void sum2(){sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum2(int n){num1=n;sum=num1+num2;System.out.println("sum="+num1+"+"+num2+"="+sum);}void sum3(int n){super.sum2(n);System.out.println("sum="+num1+"+"+num2+"="+sum);}}public class test{public static void main (String arg[]){B m=new B();m.sum1();m.sum2();m.sum2(50);m.sum3(50);}}。
任课教师:《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语言程序设计A第二部分:实验过程记录(可加页)(代码、运行结果、实验中出现的问题及解决过程)修改后代码如下:import java.util.*;class ExceptionDemo{public static void main(String[] args) {try {Scanner scanner = new Scanner(System.in);System.out.print("Enter a interger:");int number = scanner.nextInt();System.out.println("The number entered is:" + number);} catch (InputMismatchException e) {System.err.println("输入有误,请重新输入一个整型数据!");new ExceptionDemo().main(args);;}}}运行结果如下:教师签字__________第三部分结果与讨论(可加页)一、实验结果分析(包括数据处理、影响因素讨论、综合分析和结论等)首先运行题目中给出的代码,当输入的数据不是整形时,程序抛出InputMismatchException错误并终止,之后用try……catch捕捉并处理该错误,在catch块中输出错误提示并且重新调用main方法,已达到程序正常运行直达用户输入整数后才退出的目的。
实验中通过main函数的回调,实现了和使用循环处理一样的效果,也可以通过for循环或者do……while循环实现同样的效果,例如以下用for循环的实现:import java.util.*;class ExceptionDemo{public static void main(String[] args) {for (; ; ) {try {Scanner scanner = new Scanner(System.in);System.out.print("Enter a interger:");int number = scanner.nextInt();System.out.println("The number entered is:" + number);// break;} catch (Exception e) {System.err.println("输入有误,请重新输入一个整型数据!\n");}}}}运行效果为:二、小结、建议及体会编程的时候要多考虑一些影响因素,多思考几种实现方法,在各种方法中寻找最优的方案,同时,对于碰到的问题,不要忽略,要多多思考本质的原因,避免下次犯同样的错误。
课程实验报告
的文件对象,然后对str中的每个对象调用isFile()方法判断是否是文本文件,并计数输出
(4)在外层使用for循环对每个文本文件遍历行数
(5)在内层创建FileReader类的对象reader1和BufferedReader类的对象reader2,设置行数rows=0,分别读每个文本文件计算行数
调试过程及实验结果1. 2.
总结通过第一个实验我熟悉了BufferedReader、BufferedWriter等流类的相关使用方法,掌握了向文件中读写数据的基本步骤;通过第二个实验我掌握了Java File类相关方法的调用和使用,熟悉对文本文件和非文本文件基本方法的使用。
附录(手抄源程序清单,对关键步骤需要添加注释,写在报告背面即可,无需附页,严禁打印)
*注意:
--雷同无效,禁止抄袭;
--A4纸单面打印,左侧装订,2个钉;
--以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;。
实验一、安装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来取得。
实验指导四实验1:异常一、实验目的(1)理解异常处理。
二、实验任务(1)输入根据给定的Java Application程序,添加功能并写出运行结果。
(2)找出给定程序的错误,修改代码使其能编译运行,并写出运行结果。
(3)按要求填写Java Application程序,并写出运行结果。
三、实验内容1.为下面的Java Application程序,添加异常处理,并简要分析程序的运行结果。
public class RuntimeExceptionDemo01{public static void main(String args[]){String str = "123" ; // 定义字符串,全部由数字组成int temp = Integer.parseInt(str) ; // 将字符串变为int类型System.out.println(temp * temp) ; // 计算乘方}};运行结果:????2.找出给定程序的错误,修改代码使其能编译运行,并写出运行结果。
public class RuntimeExceptionDemo01{public static void main(String args[]){System.out.println(“程序运行开始”) ;Thread.sleep(30000) ;System.out.println(“程序运行结束”) ;}};运行结果:????3. 输入根据给定的Java Application程序,写出运行结果class MyException extends Exception{ // 自定义异常类,继承Exception类public MyException(String msg){super(msg) ; // 调用Exception类中有一个参数的构造方法,传递错误信息}};public class DefaultException{public static void main(String args[]){try{throw new MyException("自定义异常。
武汉工程大学计算机科学与工程学院实验报告[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 框架,通过这个例子学习如何创建一个简单的图形用户界面。
《Java程序设计》实验四
1、随机生成各有13张扑克牌的两组牌,分别存放在两个数组中,
比较两个数组对应位置上牌的点数大小,大的赢一分,最后分别输出两组的得分情况。
import java.util.Random;
public class shiyansi13pai {
public static void main(String[] args) {
int a=0,b=0,i;
int [] score1=new int[13];
int [] score2=new int[13];
for(i=1;i<14;i++){
Random sc1=new Random();
score1[i-1]=sc1.nextInt(13)+1;
Random sc2=new Random();
score2[i-1]=sc2.nextInt(13)+1;
System.out.println("第"+i+"局的牌分别是:"+score1[i-1]+"、
"+score2[i-1]);
if(score1[i-1]>score2[i-1]){
a++;
System.out.println("此局a组胜,a的得分是:"+a);
}
if(score1[i-1]<score2[i-1]){
b++;
System.out.println("此局b组胜,b的得分是:"+b);
}
if(score1[i-1]==score2[i-1]){
System.out.println("此局是平局");
}
}
if(a>b)System.out.println("a组胜,a、b分别得分是:"+a+"、"+b);
if(a<b)System.out.println("b组胜,a、b分别得分是:"+a+"、"+b);
if(a==b)System.out.println("a与b平局,a、b分别得分是:"+a+"、"+b);
}
}
2、编写一个程序输出用户指定个数的从2开始的素数。
import java.util.Scanner;
public class Sushu {
public static void main(String[] args) {
int i,j,a;
Scanner sc=new Scanner(System.in);
System.out.println("请输入您所要的素数个数:");
j=sc.nextInt();
for(i=2;i<j+2;i++){
for(a=2;a<=i/2;a++){
if(i%a==0){
j++;
break;
}
}
if(a>i/2)
System.out.println(i+"是素数");
}
}
}
编写类PrimeNum,其中包含一个属性num,包含一个方法:判断num是否是素数。
实现通过键盘输入任意一个整数,判断其是否是素数。
import java.util.Scanner;
public class PrimeNnm {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数:");
int num=sc.nextInt();
int i;
for(i=2;i<=num/2;i++){
if(num%i==0){
System.out.println(num+"不是素数");
break;
}
}
if(i>num/2)
System.out.println(num+"是素数");
}
}。