Java实验2
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路径一样。
JavaEE实验(参考) 2

本科实验报告课程名称:Java EE编程技术实验项目:语法基础代码风格实验实验地点:逸夫楼404专业班级:软件1028 学号:2010005249 学生姓名:赵才轩指导教师:高保禄2013 年 4 月26 日一.实验目的熟悉Java、JSP、Servlet、Html等相关语法,培养良好的代码风格,为其他实验做好准备。
二.实验内容熟悉NetBeans开发环境,通过编写一个Jsp调用Servlet的程序,熟悉Java、JSP、Servlet、Html等相关语法,培养良好的代码风格。
可以任选以下任一题目:A.网站计数器;B.简易购物车;C.编写一个自定义标记,将Servlet返回的英文字符串转换为大写。
三、实验要求:参照课本,快速熟悉相关内容,按所需题目编写程序,熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet 与类中代码的结构等),初步掌握编写Web应用程序的能力。
2)设法在用户主目录中以home_mycal的文件名来调用mydir/mycal文件。
四、实验环境:软件环境:Windows 7/XP/2000/2003/2008,NetBeans5.5.1/6.5/7.3;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。
五、实验步骤和实验结果:(A、B、C三个实验都有)A.网站计数器:(1)思维方法:首先,网页浏览次数每个用户都可以查看,所以用Servlet 上下文去保存数据;再者:网站计数器要确保在网页重新部署时或服务器重新启动时记得数不会从1开始,所以,我选择用文件把Servlet上下文的数据进行保存;最后,如果在用户访问一次就要读写文件的话,这样效率会很低,所以我利用Servlet的生命周期,把文件的读放在init()方法中,把文件的写放在destory()方法中,这样就完成了对浏览网页的计数。
(2)实现方法:(由于代码较多,所以选择重要的代码写入报告中)Init()方法:(实现了读文件,如果不存在文件则创建一个,并写入初值)public void init() throws ServletException {String counter=null;File FCounter=new File("j:\\counter.txt");if(!FCounter.exists())try {FCounter.createNewFile();FileWriter fw=new FileWriter("j:\\counter.txt");BufferedWriter bw=new BufferedWriter(fw);bw.write("0");bw.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}try {FileReader fr=new FileReader("j:\\counter.txt");BufferedReader br=new BufferedReader(fr);try {counter=br.readLine();br.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}} catch (FileNotFoundException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}this.getServletContext().setAttribute("counter", counter);}●Destory()方法:(实现了跟新文件内容的功能)public void destroy() {String counter=null;try {FileWriter fw=new FileWriter("j:\\counter.txt");BufferedWriter bw=new BufferedWriter(fw);counter=(String) this.getServletContext().getAttribute("counter");bw.write(counter);bw.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}}●processRequest()方法:(实现了用户浏览后加一的功能,以及显示给用户)protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String counter=null;counter=(String) this.getServletContext().getAttribute("counter");int count=Integer.parseInt(counter);count++;counter=String.valueOf(count);this.getServletContext().setAttribute("counter", counter);try {out.println("<html>");out.println("<head>");out.println("<title>网站计数器</title>");out.println("</head>");out.println("<body>");out.println("<center><h1>赵才轩网页计数器</h1>");out.println("<h1>访问次数:" +this.getServletContext().getAttribute("counter") + "</h1>");out.println("</center></body>");out.println("</html>");} finally {out.close();}}(3)简易截图:B.简易购物车(1)思维方法:首先,在这个简易的购物车中我不设计数据库,只是从简单的思路中说明问题,所以我的商品数据在jsp页面中体现,并且各个商品的默认属性都是一致的,只是数据不同,这些属性用表单的形式发送处理;再者,我用对象ArrayList去收集购物车中的数据,并用会话session中的setAttribute()方法去保存用户的购物车,再用getAttribute()方法把购物车中的数据显示给用户,最后,在显示出购物车的数据后可以再放回商品页面继续购物。
软件测试实验二实验报告

软件测试实验二实验报告一、实验目的本次软件测试实验的主要目的是熟悉并掌握软件测试的基本方法和技术,通过对一个具体软件系统的测试,发现软件中存在的缺陷和问题,提高软件的质量和可靠性。
二、实验环境1、操作系统:Windows 102、测试工具:Jmeter、Selenium、Bugzilla3、开发语言:Java4、数据库:MySQL三、实验内容1、功能测试对软件的登录功能进行测试,包括输入正确和错误的用户名、密码,验证登录是否成功以及相应的提示信息是否准确。
测试软件的注册功能,检查输入的各项信息是否符合要求,如用户名长度、密码强度等。
对软件的搜索功能进行测试,输入不同的关键词,检查搜索结果的准确性和完整性。
2、性能测试使用 Jmeter 工具对软件的并发性能进行测试,模拟多个用户同时登录、搜索等操作,观察系统的响应时间、吞吐量等性能指标。
对软件的数据库操作性能进行测试,包括插入、查询、更新和删除数据,检查数据库的响应时间和资源占用情况。
3、兼容性测试在不同的浏览器(如 Chrome、Firefox、IE 等)上运行软件,检查界面显示和功能是否正常。
在不同的操作系统(如 Windows、Mac OS、Linux 等)上安装和运行软件,验证其兼容性。
4、安全测试对软件的用户认证和授权机制进行测试,检查是否存在未授权访问和越权操作的情况。
测试软件对 SQL 注入、XSS 攻击等常见安全漏洞的防范能力。
四、实验步骤1、功能测试步骤打开软件登录页面,输入正确的用户名和密码,点击登录按钮,观察是否成功登录并跳转到相应页面。
输入错误的用户名或密码,检查提示信息是否清晰准确。
进入注册页面,输入合法和不合法的注册信息,如用户名过短、密码强度不够等,查看系统的校验结果。
在搜索框中输入关键词,点击搜索按钮,对比搜索结果与预期是否一致。
2、性能测试步骤打开 Jmeter 工具,创建测试计划,添加线程组、HTTP 请求等元素。
Java语言实验2程序控制结构

一、实验目的1.理解定义变量的作用,掌握定义变量的方法。
2.掌握顺序结构程序控制。
3.掌握算法与程序设计的基本方法。
4.掌握if语句、if-else-if结构的使用。
5.掌握switch语句的使用。
6.掌握使用while语句实现循环。
7.了解使用do-while语句实现循环。
8.掌握使用for语句实现循环。
9.了解continue语句和break语句的使用。
10.掌握一维数组的概念、定义和使用。
二、实验内容及步骤1.顺序结构(1)任务写一个程序,读入三个整数并打印他们的平均值。
源代码:public class renwu1 {public static void main(String[] args) {int sum = 0;int aver = 0;Scanner scanner = new Scanner(System.in);for(int i = 1;i <= 3; i++) {System.out.print("请输入第" + i +"个数:");sum +=scanner.nextInt();aver = sum / i;}System.out.println("平均数是:" + aver);}}运行结果:写一个程序,读入两个浮点数并打印他们的和、差和积。
源代码:public static void main(String[] args) {float sum = 0;float cha = 0;float ji = 0;Scanner scanner = new Scanner(System.in);System.out.println("请输入第一个浮点数:");float num1 = scanner.nextFloat();System.out.println("请输入第二个浮点数:");float num2 = scanner.nextFloat();sum = num1 + num2;cha = num1 - num2;ji = num1 * num2;System.out.println("和是:" + sum);System.out.println("差是:" + cha);System.out.println("积是:" + ji);}}运行结果:2.分支结构(1)任务任务1:使用简单if语句编程,从键盘键入三个整数,然后按照从小到大的顺序将其输出。
java程序设计实验1,2,3

publicclassMathDemo {
publicstaticvoidmain(String[] args) {
Random rand=newRandom();
intv=rand.nextInt();
System.out.println("你得到了一个"+v);
int a=5+4, b=a*2, c=b/4;
int d=b-c;
int e=-d;
int f=e%4;
double g=18.4, h=g%4;
int i=3;
int j=i++;
int k=++i;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
1)保存文件名为:
2)编译命令为:
3)运行程序命令为:
4)如果删除该程序的第一行import语句,重新编译,有何问题?
评语:日期:年月日
实验二:数值类型与变量声明
实验目的:
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
实验内容
编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
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)
Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)
华北电力大学
实验报告
实验名称Java程序面向对象设计(一)课程名称Java程序设计
专业班级:学生姓名:
学号:成绩:指导教师:张学斌实验日期:
自己的speed的值增加80
【代码10】//car2调用speedUp方法将自己的speed的值增加80
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
}
}
1.3 实验指导
●创建一个对象时,成员变量被分配空间,这些内
存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。
●空对象不能使用,即不能让一个空对象去调用方
法产生行为。
假如程序中使用了空对象,在运行时会产生异常:NullPointerException,对象时。
实验2_流程控制与数组操作

四、实验任务
1.创建一个名为 Exp14BTV_1 的 java Application 程序,写出运行结果(验证性实验)。 2.创建一个名为 Exp14BTV_2 的 java Application 程序,写出运行结果(验证性实验)。 2.创建一个名为 Exp14BTV_3 的 java Application 程序,计算圆、矩形、三角形的周长 (设计性实验)。 3.创建一个名为 Exp14BTV_4 的 java Application 程序,计算数字对应的中文金额(设 计性实验)。 4.创建一个名为 Exp14BTV_5 的 java Application 程序,随机产生三组扑克(设计性实 验)。
♠> 。
3
♥>♡>
假设 1~13 为方块(diamond),14~26 为梅花(club),27~39 为红桃(heart),
40~52 为黑桃(spade),53 为小王(little joker),54 为大王(big joker)。 第 1 步:随机产生 18 张牌; 第 2 步:从其余 36 张牌随机选择 18 张牌; 第 3 步:剩余 18 张牌作为备牌; 第 4 步:输出第 1 次产生的 18 张牌; 第 5 步:输出第 2 次产生的 18 张牌; 第 6 步:最后输出备牌。 说明:以上三组牌不能有重复(设计性实验:使用数组和循环完成)。 自己通过 Java 程序实现。
五、实验报告要求
1. 实验目的和要求 2. 实验任务
1
3. 实验题目和源码 4. 实验结果截图粘贴到实验报告中或手抄实验结果 5. 实验中遇到的问题及解决方法(如果不能解决请说明您分析的原因) 6. 实验心得或体会 7. 实验报告必须手写 两条线: 验证性实验: 题目(实验要求)+源码+结果 设计性实验: 题目(实验要求)+源码+结果
java实训报告范文(共10篇)

java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。
2.熟练掌握网页制作软件的基本操作,和使用技能。
3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。
4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。
5.掌握页面的整体控制和头部内容的设置方法。
6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。
7.熟练建立各种形式的超链网站测试的方法。
通用能力目标1、合理安排自己的任务及时间,来完成本次课题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
验2类和对象一、实验目的:1、学习定义类和使用类创建对象。
2、掌握对象变量和普通变量的区别,学习掌握使用对象调用其成员的方法。
3、学习掌握类的构造方法。
4、学习掌握给方法传递对象。
5、学习掌握类的静态变量和静态方法。
二、实验任务:1、创建Java程序,学习类的定义、使用类创建对象、通过对象调用其成员、类的构造方法的作用、如何给方法传递对象、掌握静态变量、静态方法的用法。
程序要求:(1)首先创建Circle类表示平面上的圆,要求该类具备构造方法,以初始化表示半径的私有数据成员radius;具备求圆面积的方法;还要具备一个静态数据成员numOfObjects,用来统计程序运行过程中创建圆对象的个数。
(2)创建一个静态方法public static void printCircle(Circle c),功能是输出参数圆对象c的相关信息,包括半径和面积的值。
(不是Circle的成员方法)(3)程序运行中创建2个以上的圆对象,分别输出相关信息,并统计输出对象的数目。
2、创建Java程序,进一步学习上述的内容以及关键字this的使用和类抽象的概念。
程序要求:(1)首先创建有理数类Rational,该类包含构造方法和加、减、乘、除方法。
(2)程序主方法中创建两个有理数对象,分别进行加、减、乘、除运算,并输出运算结果。
三、实验步骤:1、按照任务1的要求创建一个表示圆形的Circle类。
2、按照任务1的要求创建一个类TestInstanceAndClassVariable,其中包含静态方法public static void printCircle(Circle c)和程序的主方法main,在main方法中创建两个或多个Circle对象,调用printCircle(Circle c)方法显示每个Circle对象的相关信息,最后统计程序中所有创建的Circle类对象的数目。
实验代码:public class TestInstanceAndClassVariable{public static void main(String[]args) {Circle circle1=new Circle();System.out.println("Beforecreatingcircle2");System.out.print("circle1is:");printCircle(circle1);Circle circle2=new Circle(5);circle1.setRadius(9);System.out.println("\nAftercreatingcircle2andmodifying"+"circle1' sradiusto9");System.out.print("circle1is:");printCircle(circle1);System.out.print("circle2is:");printCircle(circle2);}public static void printCircle(Circle c){System.out.println("radius("+c.getRadius()+")andnumberofCircleobject s("+c.getNumOfObjects()+")");}}class Circle{private double radius;private static int numOfObjects=0;public Circle(){radius=1.0;numOfObjects++;}public Circle(double r){radius=r;numOfObjects++;}public double getRadius(){return radius;}public void setRadius(double newRadius){radius=newRadius;}public static int getNumOfObjects(){return numOfObjects;}public double findArea(){return radius*radius*Math.PI;}}实验结果:3、按照任务2的要求创建一个有理数类Rational,应包含2个私有的长整型数据成员numerator和denominator分别存储一个有理数的分子和分母;该类应包含不带参数的构造方法,和带参数的构造方法。
其中不带参数的构造方法把有理数的分子和分母初始化为0和1;带参数的构造方法中应对该有理数进行约分,为此需为该类创建一个成员方法private long gcd(long n, long d);该方法返回分子和分母的最大公约数。
4、为理数类Rational创建四个成员方法分别实现2个有理数的加、减、乘、除运算,四个方法的方法签名如下:public Rational add(Rational secondRational);public Rational subtract(Rational secondRational);public Rational multiply(Rational secondRational);public Rational divide(Rational secondRational);5、为Rational类改写toString()方法,该方法改写后的功能是:以分数的形式输出一个有理数。
例如:2/36、创建一个程序TestRationalClass,该类中分别创建2个Rational类的对象r1和r2,计算并显示它们的和、差、积、商。
程序运行的结果应如下图所示:实验代码:public class Rational{// Data fields for numerator and denominatorprivate long numerator = 0;private long denominator = 1;// Default constructorpublic Rational(){this(0, 1);}// Construct a rational with specified numerator and denominator public Rational(long numerator, long denominator){long gcd = gcd(numerator, denominator);this.numerator = numerator/gcd;this.denominator = denominator/gcd;}// Find GCD of two numbersprivate long gcd(long n, long d){long t1 = Math.abs(n);long t2 = Math.abs(d);long remainder = t1%t2;while (remainder != 0){t1 = t2;t2 = remainder;remainder = t1%t2;}return t2;}// Getter method for numeratorpublic long getNumerator(){return numerator;}public long getDenominator(){return denominator;}// Add a rational number to this rationalpublic Rational add(Rational secondRational){long n = numerator*secondRational.getDenominator() +denominator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Subtract a rational number from this rationalpublic Rational subtract(Rational secondRational){long n = numerator*secondRational.getDenominator()- denominator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Multiply a rational number to this rationalpublic Rational multiply(Rational secondRational)long n = numerator*secondRational.getNumerator();long d = denominator*secondRational.getDenominator();return new Rational(n, d);}// Divide a rational number from this rationalpublic Rational divide(Rational secondRational)throws RuntimeException{if (secondRational.getNumerator() == 0)throw new RuntimeException("Denominator cannot be zero");long n = numerator*secondRational.getDenominator();long d = denominator*secondRational.getNumerator();return new Rational(n, d);}// Override the toString() methodpublic String toString(){if (denominator == 1)return numerator + "";elsereturn numerator + "/" + denominator;}}public class TestRationalClass{// Main methodpublic static void main(String[] args){// Create and initialize two rational numbers r1 and r2.Rational r1 = new Rational(4, 2);Rational r2 = new Rational(2, 3);// Display resultsSystem.out.println(r1.toString() + " + " + r2.toString() + " = " + (r1.add(r2)).toString());System.out.println(r1.toString() + " - " + r2.toString() + " = " + (r1.subtract(r2)).toString());System.out.println(r1.toString() + " * " + r2.toString() + " = " + (r1.multiply(r2)).toString());System.out.println(r1.toString() + " / " + r2.toString() + " = " + (r1.divide(r2)).toString());}实验截图:四、实验结果通过本次实验,我掌握了静态变量和静态方法的使用方法和使用环境。