java实验题
- 格式:doc
- 大小:108.00 KB
- 文档页数:25
第Ⅰ部分:实验指导实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。
(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。
二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。
三、实验内容1.安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。
安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到C:\j2sdk1.4.1_03目录下。
教师通过大屏幕演示J2SE的安装过程,以及在Windows98/2000/2003下环境变量的设置方法。
2.安装J2SE源代码编辑工具Edit Plus教师通过大屏幕演示Edit Plus的安装过程,以及在Windows98/2000/2003操作系统环境下编辑Java 原程序的常用命令的用法。
3.编写并编译、运行一个Java Application程序。
创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。
public class HelloWorldApp{public static void main(String[] args){System.out.println("老师,你好!");}}4.编译并运行下面的Java Application程序,写出运行结果。
1:public class MyClass {2:private int day;3:private int month;4:private int year;5:public MyClass() {6:day = 1;7:month = 1;8:year = 1900;9:}10:public MyClass(int d,int m,int y) {11:day = d;12:month = m;13:year = y;14:}15:public void display(){16:System.out.println(day + "-" + month + "-" + year);17:}18:public static void main(String args[ ]) {19:MyClass m1 = new MyClass();20:MyClass m2 = new MyClass(25,12,2001);21:m1.display();22:m2.display();23:}24:}运行结果:1-1-190025-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。
本学期主要内容:HTML+CSS+JavaScript、JSP(Java语言、内置对象、JSP标签)、Java Bean、Servlet、Struts框架重点实验:1、实验一第3个实验:提交表单前验证表单输入是否为空(JavaScript)2、实验二第1个实验(教材6.1.4程序6-10、6-11):表单数据传送(通过表单传递数据、显示汉字)3、实验二第2个实验:用户名、密码识别(JSP内置对象、java)4、实验二第5个实验:用户身份认证机制(利用session判断用户是否处于登录状态)5、实验三第2个实验(教材10.2.2 JSP Form与Java Bean组件的交互):表单绑定Java Bean组件实现数据传输。
6、实验四:访问mysql数据库,或者通过相对路径,直接访问access数据库文件。
查询数据库表,显示查询结果。
7、实验五第3个实验:使用Struts 1.x技术实现一个简单的MVC应用,输入并验证用户名、密码,符合要求则转到欢迎页面,否则回到用户名、密码输入页面。
(Struts MVC)注意:掌握每个实验的知识点并灵活运用,要考虑中文字符的处理。
1:实验一第3个实验:提交表单前验证表单输入是否为空(JavaScript)<script type="text/javascript">function checkform(){if(ername.value==""){alert("用户名不能为空!");return false;}else if(form.password.value==""){//这里的value不能要忘记了啊! alert("密码不能为空!");return false;}return true;}</script><form action="shiyanyi/33.jsp"method="post"name="form" onsubmit="return checkform()"><table align="center"><tr><td><font>用户名:</font><input type="text" name="username"/></td></tr><tr><td><font>密码:</font> <input type="password" name="password"/></td></tr><tr><td align="center"><input type="submit"value="提交"/></td></tr></table></form>2:实验二第1个实验(教材6.1.4程序6-10、6-11):表单数据传送(通过表单传递数据、显示汉字)1_form.html:::::<form action="1_form.jsp"method="post"name="form"> <table align="center"><tr><td><font>用户名:</font><input type="text" name="username"/></td></tr><tr><td><font>密码:</font> <input type="password" type="password"name="password"/></td></tr><tr><td align="center"><input type="submit"value="提交"/></td> </tr></table></form>1_form.jsp::::::<body><%request.setCharacterEncoding("gbk");String username = request.getParameter("username");String password = request.getParameter("password");%><p align="center">您的登录信息</p><p align="center">用户名:<%=username %></p><p align="center">密码:<%=password %></p></body>3:实验二第2个实验:用户名、密码识别(JSP内置对象、java)2_login.jsp::::<form action="shiyaner/2_check.jsp"method="post"name="form"> <table align="center"><tr><td><font>用户名:</font><input type="text" name="username"/></td></tr><tr><td><font>密码:</font> <input type="password" name="password"/></td></tr><tr><td align="center"><input type="submit"value="提交"/></td> </tr></table></form>2_check.jsp:::::<%request.setCharacterEncoding("gbk");String name=request.getParameter("username");String password = request.getParameter("password");if("谢结兵".equals(name)&&"谢结兵".equals(password)){session.setAttribute("username",name);response.sendRedirect("2_success.jsp");}else {response.sendRedirect("2_login.jsp");} %>2_success.jsp:::::<%request.setCharacterEncoding("gbk");String name =(String) session.getAttribute("username");%><br><p align="center"><font style="font-size: 20px;color: #ff00ff">欢迎您:</font><%=name %></p>4:实验二第5个实验:用户身份认证机制(利用session判断用户是否处于登录状态)5_login.jsp::::<form action="shiyaner/5_check.jsp"method="post"><font>用户名:</font><input type="text"name="username"/><br/> <font>密码:</font><input type="password" name="password"/><br/><input type="submit"value="提交"/></form>5_check.jsp:::<%request.setCharacterEncoding("gbk");String name=request.getParameter("username");String password = request.getParameter("password");if("谢结兵".equals(name)&&"谢结兵".equals(password)){session.setAttribute("login","ok");response.sendRedirect("5_main.jsp");}else {response.sendRedirect("5_login.jsp");} %>5_main.jsp::::欢迎成功登录!<a href="shiyaner/5_loginout.jsp">退出</a>5_verif.jsp:::::<%String vaild = (String)session.getAttribute("login");if(!"ok".equals(vaild)){response.sendRedirect("shiyaner/5_login.jsp");}%>5_loginout.jsp::::<% session.invalidate(); response.sendRedirect("5_login.jsp"); %> 5:实验三第2个实验(教材10.2.2 JSP Form与Java Bean组件的交互):表单绑定JavaBean组件实现数据传输。
浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。
2.掌握JAVA语言对象的声明和使用。
3.掌握JAVA语言构造方法的概念和使用。
4.掌握类及其成员的访问控制符的区别和使用。
【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。
(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。
class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
一、填空题1、面向对象程序的主要特征:继承,__封装___,___多态_____。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重用或复用___.3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java是java语言中的解释执行器,基本语法是:java[选项]___类名___.5、java语言的主要贡献者是谁James gosling二、单选题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B)。
A、javaB、.classC、htmlD、.exe2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。
A、public static void main()B、public static void main(String args[])C、public static int main(String[] arg)D、public void main(String arg[])三、判断1、Java语言具有较好的安全性和可移植性及与平台无关等特性。
√2、Java语言的源程序不是编译型的,而是编译解释型的。
√四、问答题1、编写、运行java程序需要经过哪些主要步骤?答:1.编写源文件,扩展名必须是.java2.编写java源程序,使用java编译器编写源文件,得到字节码文件3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码文件。
2、阅读下列java源代码文件,并回答问题public class Speak{void speakHello(){System.out.println("I'm glad to meet you");}}class Xiti8{public static void main(String args[]){Speak sp=new Speak();sp.speakHello();}}(1)上述源文件的名字是什么?Speak.java(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?Speak.class Xiti8.class第2章(1)基本数据类型练习题一、填空题1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
Java程序设计总复习题2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
一有关java的第四次题一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __” 2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,my name is __”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.74 2)分别调用对象的sayHello()方法。
(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2)有2个属性:长length、宽width3)通过构造方法Rectangle(int width, int length),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(int x0,y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动。
5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。
6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Cat cat)可以设置动物发出猫的声音2)setSnarl(Dog dog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Cat cat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDog dog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。
实验一熟悉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路径一样。
1 实验一 基本程序设计 (1)编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。例如,如果用户输入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。 public class Exercise2_5 { public static void main(String[] args) { // Read subtotal java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("Enter subtotal: "); double subtotal = input.nextDouble();
// Read subtotal System.out.print("Enter gratuity rate: "); double rate = input.nextDouble();
double gratuity = subtotal * rate / 100; double total = subtotal + gratuity;
System.out.println("Gratuity is " + gratuity); System.out.println("Total is " + total); } } (2) (求ASCII码对应的字符)编写程序接受一个ASCII码(从0到128的整数),然后显示它所代表的字符。例如用户输入的是97,程序显示的是俄字符a。 public class Exercise2_8 { public static void main(String args[]) { java.util.Scanner input = new java.util.Scanner(System.in); // Enter an ASCII code System.out.print("Enter an ASCII code: "); int code = input.nextInt(); // Display result System.out.println("The character for ASCII code " + code + " is " + (char)code);
} } (3) (计算一个三角形周长)编写程序,读取三角形的三条边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,那么输入值都是合法的。 public class Exercise3_25 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in);
// Enter three edges 2
System.out.print( "Enter three edges (length in double): "); double edge1 = input.nextDouble(); double edge2 = input.nextDouble(); double edge3 = input.nextDouble();
// Display results boolean valid = (edge1 + edge2 > edge3) && (edge1 + edge3 > edge2) && (edge2 + edge3 > edge1);
if (valid) { System.out.println("The perimeter of the triangle is " + (edge1 + edge2 + edge3)); } else System.out.println("Input is invalid"); } } (4) (解一元二次方程)求一元二次方程ax2 + bx + c = 0的两个根,b就有*b-4ac称作一元二次方程的判别式。如果它是正值,那么一元二次方程俄就有两个正根。如果它为0,方程就只有一个根。如果它是负值,方程无实根。编写程序,提示用户输入a、b和c的值,并且显示基于判别式的结果。如果判别式为正,显示两个根,如果判别式为0,显示一个根,如果判别式为负,显示方程无实根。 (4) import java.util.Scanner;
public class Exercise3_1 { public static void main(String[] args) { Scanner input = new Scanner(System.in);
System.out.print("Enter a, b, c: "); double a = input.nextDouble(); double b = input.nextDouble(); double c = input.nextDouble();
double discriminant = b * b - 4 * a * c;
if (discriminant < 0) { System.out.println("The equation has no roots"); } else if (discriminant == 0) { double r1 = -b / (2 * a); System.out.println("The root is " + r1); } 3
else { // (discriminant > 0) double r1 = (-b + Math.pow(discriminant, 0.5)) / (2 * a); double r2 = (-b - Math.pow(discriminant, 0.5)) / (2 * a); System.out.println("The roots are " + r1 + " and " + r2); } } } (5)(统计正数和负数的个数,然后计算这些数的平均值)编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表示程序结束。将平均值以浮点数显示。 (5)import java.util.Scanner; public class Exercise4_1 { public static void main(String[] args) { int countPositive=0, countNegative = 0; int count = 0, total = 0, num;
Scanner input = new Scanner(System.in); System.out.print( "Enter an int value, the program exits if the input is 0: "); num = input.nextInt();
while (num != 0) { if (num > 0) countPositive++; else if (num < 0) countNegative++;
total += num; count++;
// Read the next number num = input.nextInt(); }
if (count == 0) System.out.println("You didn't enter any number"); else { System.out.println("The number of positives is " + countPositive); System.out.println("The number of negatives is " + countNegative); System.out.println("The total is " + total); System.out.println("The average is " + total * 1.0 / count); } } 4
}
试验二 方法 (1)一个五角数被定义为n(3n-1)/2,其中n=1,2,…。所以,开始的几个数字就是1,5,12,22…,编写下面的方法返回一个五角数: public static int getPentagonaNumber(int n) 编写一个测试程序显示前100个五角数,每行显示10个。 提示:通过for循环语句打印前100个五角数。 (1)// Exercise5_1.java: public class Exercise5_1 { public static void main(String[] args) { for (int i = 1; i <= 100; i++) if (i % 10 == 0) System.out.println(getPentagonalNumber(i)); else System.out.printf("%10d", getPentagonalNumber(i)); }
public static int getPentagonalNumber(int n) { return n * (3 * n - 1) / 2; } }
(2)编写一个方法,计算一个整数各位数字之和: public static int sumDigits(long n) 例如:sumDigits(234)返回9(2 + 3 + 4)。 提示:使用求余运算符%提取数字,用/去掉提取出来的数字。例如:使用234%10 (=4)提取4。然后使用234/10(=23)从234中去掉4。使用一个循环来反复提取和去掉每位数字,直到所有的位数都提取完为止。 编写程序提示用户输入一个整数,然后显示这个整数所有数字的和。 Remainder(余数) (2) public class Exercise5_2 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); System.out.print("Enter a number: "); int value = input.nextInt();