Java编程基础实验报告.doc
2016至2017学年第一学期计算机科学学院编制教师 唐春兰 审定 代伟专业: 物联网工程 班级: 2015 级 4 班 学号: 20151044018_ _姓名: 刘星_ _Java编程基础实 验 报 告 (适用于计算机科学学院专业学生)实验名称: Java语言基础 指导教师: 唐春兰 实验仪器: 计算机 实验日期: 2016 年 12 月 2 日 实验地点:第三实验楼209实验目的:1、了解Java 的数据类型;2、掌握各种变量的声明方式;3、理解运算符的优先级;4、掌握JAVA基本数据类型、运算符与表达式、数组的使用方法;5、理解JAVA程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;6、通过以上内容,掌握JAVA语言的编程规则。实验内容及基本要求: 1、读下列程序,理解不同数据类型变量的声明,写出其输出结果并上机运行验证。public class SHIYAN2_1 public static void main(String args) byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a' float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型" System.out.println("字节型变量 b = "+b); System.out.println("短整型变量 s = "+s); System.out.println(" 整型变量 i = "+i); System.out.println("长整型变量 l = "+l); System.out.println("字符型变量 c = "+c); System.out.println("浮点型变量 f = "+f); System.out.println("双精度变量 d = "+d); System.out.println("布尔型变量 B = "+B); System.out.println("字符串类对象 S = "+S); 2、分析下列程序,了解变量的使用范围,修改程序使之能成功运行。public class SHIYAN2_2 int i=10; public static void main(String args) int k=10; System.out.println("i="+i); System.out.println("k="+k); System.out.println("i="+i); System.out.println("k="+k); 3、分析下列程序,并输出结果。class SHIYAN2_3 public static void main(String args) int a=25, b=20, e=3, f=0; boolean d=a<b; System.out.println("a=25,b=20,e=3,f=0"); System.out.println("因为关系表达式 a<b 为假,所以其逻辑值为: "+d);if (e!=0 && a/e>5) System.out.println("因为e 非0 且a/e 为8 大于5,所以输出 a/e "+a/e); if (f!=0 && a/f>5) System.out.println("a/f = "+a/f); else System.out.println("因为f 值为0,所以输出 f = "+f); 4、使用循环设计程序,功能:输出九九乘法表。实验过程及结果:实验工具:eclipse1、将代码输入到eclipse软件中,验证后输出结果为: 字节型变量 b = 85 短整型变量 s = 22015 整型变量 i = 1000000 长整型变量 l = 65535 字符型变量 c = a 浮点型变量 f = 0.23 双精度变量 d = 7.0E-4 布尔型变量 B = true字符串类对象 S = 这是字符串类数据类型2、要使程序能够运行,修改后代码为: public class SHIYAN2_2 public static void main(String args) int i=10; int k=10; System.out.println("i="+i); System.out.println("k="+k); System.out.println("i="+i); System.out.println("k="+k); 3、分析程序后,输出结果为: a=25,b=20,e=3,f=0 因为关系表达式 a<b 为假,所以其逻辑值为: false 因为e 非0 且a/e 为8 大于5,所以输出 a/e 8 因为f 值为0,所以输出 f = 04、九九乘法表程序代码:public class SHIYAN2_4 public static void main(String args) / TODO Auto-generated method stub int i; int j; int cj = 1; for(i=1;i<10;i+) for(j=1;j<10;j+) if(j<=i) cj=j*i; System.out.print(j+"*"+i+"="+cj+" "); System.out.println(" ");输出结果:1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 实验成绩:(手写等级)等级为A、B 、C、D实验总结与思考(学生)请手工填写实验评价(教师)对应后面打“”熟练完成,实验结果正确,手册书写整齐规范基本完成,实验结果部分正确,书写较规范部分完成(部分没做),或书写不规范没有做(与题目无关、空白)或不写实验总结记0分实验名称: Java面向对象程序设计(一) 指导教师: 唐春兰 实验仪器: 计算机 实验日期: 2016 年 12 月 3 日 实验地点:第三实验楼209实验目的:1、掌握类的声明,对象的创建以及方法的定义和调用。2、了解打包机制。3、掌握类的继承。4、了解接口的使用。实验内容及基本要求:1、编写一个类DOG ,包括一个私有整型的成员变量WEIGHT。DOG类中包括2个构造方法,分别为一个无参数的构造方法和一个有参数的构造方法(构造方法的内容为对WEIGHT成员变量赋初始值)。在DOG类中为WEIGHT成员变量添加其对应的GET()方法和SET()方法。在主函数中对DOG类进行测试,分别使用有参数的构造方法和无参数的构造方法创建对象。在控制台输出显示“使用带参数的构造方法,狗的体重为:15”、“使用无参数的构造方法,狗的体重为:20”。要求:1) 类名、成员变量名、方法名分别使用题目给出的英文命名;2) 程序的入口即为Dog类;3) setWeight ()的参数名为weight,数据类型与成员变量的数据类型相同;4) Get方法要求有返回值;5) 测试时为成员变量赋值使用带有参数的构造方法以及set方法;6) 测试时获取成员变量的值必须使用get方法。程序运行情况:1) 正确使用无参数的构造方法创建对象d1;2) 正确使用带参数的构造方法创建对象d2,并同时为weight赋初值;3) d1使用set方法为weight赋初值;4) 分别调用d1以及d2的get()方法完成在控制台的输出。2、编写一个类AREA ,此类包含2个方法,分别为F方法:此方法为带有一个浮点型的参数且返回值类型为浮点型,功能是返回以参数为半径的圆的面积。G方法:此方法为带有2个浮点型参数的变量X 、Y,功能是返回X及Y的和。编写一个类CIRCLE ,此类继承AREA类,重写其父类的F 方法,功能是返回以参数为半径的圆的周长。编写TESTAREA为测试类,此类为程序的入口。定义CIRCLE类的对象 YUAN ,调用其F方法(实参为5.0F),把求得的结果赋给普通浮点型变量LENGTH,输出LENGTH的值;调用其G方法(实参为232.645F、418.567F),把求得的结果赋给浮点型变量SUM,输出SUM的值。要求:1) 类名、方法名均为题目给出的英文命名;2) 程序的入口即为TestArea类;3) 按照给出的要求定义方法。程序运行情况:1) 定义TestArea类的对象yuan;2) 调用yuan的f方法(返回值给length)和g方法(返回值给sum),输出length及sum的值。实验过程及结果:利用eclipse软件进行代码编写:1、public class Dog private int WEIGHT; Dog() Dog(int WEIGHT)this.WEIGHT=WEIGHT;public int getWEIGHT() return this.WEIGHT;public void setWEIGHT(int weight) this.WEIGHT = weight;public static void main(String args) / TODO Auto-generated method stub Dog d1=new Dog(); d1.setWEIGHT(20); System.out.println("使用无参数的构造方法,狗的体重为:"+d1.getWEIGHT(); Dog d2=new Dog(15); System.out.println("使用有参数的构造方法,狗的体重为:"+ d2.getWEIGHT();输出结果: 使用无参数的构造方法,狗的体重为:20 使用有参数的构造方法,狗的体重为:152、import java.lang.Math;class AREA float F(float r) float pi=(float) Math.PI;return pi*r*r; float G(float x,float y) return x+y;class CIRCLE extends AREAfloat F(float r)float pi=(float) Math.PI;return 2*pi*r;public class TestArea public static void main(String args) / TODO Auto-gene rated method stubCIRCLE yuan=new CIRCLE();float length=yuan.F(5.0F);System.out.println(length); float sum=yuan.G(232.645F, 418.567F);System.out.println(sum); 输出结果: 31.415928 651.212实验成绩:(手写等级)等级为A、B 、C、D实验总结与思考(学生)请手工填写实验评价(教师)对应后面打“”熟练完成,实验结果正确,手册书写整齐规范基本完成,实验结果部分正确,书写较规范部分完成(部分没做),或书写不规范没有做(与题目无关、空白)或不写实验总结记0分实验名称: Java面向对象程序设计(二) 指导教师: 唐春兰 实验仪器: 计算机 实验日期: 2016 年 月 日 实验地点:第三实验楼209实验目的:1、掌握异常处理机制。2、掌握自定义异常类的方法。3、掌握常见的输入/输出流类及其主要方法。实验内容及基本要求:1、编写一个JAVA程序,计算两数相除并输出结果,使用2个CATCH子句,分别捕捉除数为0异常和参数输入有误异常。2、编写一个JAVA,接收用户输入的10个整数,比较并输出最大值和最小值。3、读下面的程序并分析输出结果。import java.io.*;public class FileInputStreamTest static String name="test.txt" static BufferedReader br=null;public static void main(String args) throws Exception try File f=new File(name); FileReader fr=new FileReader(f); br=new BufferedReader(fr); String str=br.readLine(); System.out.println(str.toLowerCase(); finally if(br!=null) br.close();注:test.txt文件中的内容:aBcDEfG实验过程及结果:利用eclipse软件编写代码1、import java.util.Scanner;public class test1 public static void main(String args) Scanner scn = new Scanner(System.in); int y=0; int x; int num = new int1; for (int i = 0; i < num.length; i+) try /对可能发生的异常进行判断 System.out.print("输入" + (i + 1) + "个整数:"); numi = Integer.parseInt(scn.nextLine(); x=numi; int result=x/y; System.out.println("计算结果:" +result); catch(ArithmeticException e) /数学运算异常,例如除数为0System.out.println("出现了数学异常:"+e); i-;catch (IllegalArgumentException e) /方法的参数错误 System.out.print("输入不正确,不是整数,请重新输入"); i-; /对不正确输入,不占用输入次数输出结果:输入1个整数:3 出现了数学异常:java.lang.ArithmeticException: / by zero 输入1个整数:0.2 输入不正确,不是整数,请重新输入输入1个整数:2、import java.util.Scanner; public class test3 public static void main(String args) Scanner scn = new Scanner(System.in); int num = new int10; System.out.println("输入" + num.length + "个整数"); for (int i = 0; i < num.length; i+) try /对异常进行捕获,判断是否为整数,如果不是显示输入不正确 System.out.print("输入的第" + (i + 1) + "个整数:"); numi = Integer.parseInt(scn.nextLine(); catch (Exception e) System.out.print("输入不正确,请重新输入"); i-; /对不正确输入,不占用输入次数 int max = 0, min = 0; for (int i = 0; i < num.length; i+) if (numi > nummax) max = i; if (numi < nummin) min = i; System.out.println("最大值为第" + (max + 1) + "个整数:" + nummax); /因为max为0,所以显示max+1 System.out.println("最小值为第" + (min + 1) + "个整数:" + nummin);输出结果:输入10个整数输入的第1个整数:1输入的第2个整数:2输入的第3个整数:3输入的第4个整数:4输入的第5个整数:6输入的第6个整数:5输入的第7个整数:7输入的第8个整数:9输入的第9个整数:8输入的第10个整数:0最大值为第8个整数:9最小值为第10个整数:03、输出结果为: abcdefg实验成绩:(手写等级)等级为A、B 、C、D实验总结与思考(学生)请手工填写实验评价(教师)对应后面打“”熟练完成,实验结果正确,手册书写整齐规范基本完成,实验结果部分正确,书写较规范部分完成(部分没做),或书写不规范没有做(与题目无关、空白)或不写实验总结记0分实验名称: 图形用户界面设计实验 指导教师: 唐春兰 实验仪器: 计算机 实验日期: 2016 年 月 日 实验地点:第三实验楼209实验目的:1、理解AWT和SWING组件的异同。2、理解并掌握常见容器的含义及应用。3、理解并掌握常见布局的含义和应用。实验内容及基本要求:1、编写登录验证程序,设计界面如图1所示。图1 登录界面要求:1) 在用户名要求是英文,密码为数字;2) 程序运行中,窗体在屏幕上居中;3) 程序设计采用分层设计思想;程序运行情况:(注:假设用户名和密码是admin 和12345才能登录成功)1) 输入用户名admin和密码12345后,单击【确定】按钮,弹出登录成功对话框,如图2所示;图2 登录成功对话框2) 当输入用户名为cvit1111后,当此文本框失去焦点后,将弹出对话框如图3所示;图3 数据验证错误对话框3) 当输入密码为a121212后,当此文本框失去焦点后,将弹出对话框如图4所示;图4 数据验证错误对话框4) 当输入为用户名cvit,密码为12345后,单击【确定】按钮,弹出登录失败对话框,如图5所示。图5 登录失败对话框提示信息:/设置窗体居中技术import java.awt.Dimension;import java.awt.Toolkit;/获得屏幕的宽和高Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();/获得当前窗体的宽和高Dimension frameSize = this.getSize();这两个对象的height和width属性表示高和宽。实验过程及结果:代码:实验成绩:(手写等级)等级为A、B 、C、D实验总结与思考(学生)请手工填写实验评价(教师)对应后面打“”熟练完成,实验结果正确,手册书写整齐规范基本完成,实验结果部分正确,书写较规范部分完成(部分没做),或书写不规范没有做(与题目无关、空白)或不写实验总结记0分