《高级程序设计JAVA离线作业(选)资料(共8页).doc》由会员分享,可在线阅读,更多相关《高级程序设计JAVA离线作业(选)资料(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上浙江大学远程教育学院高级程序设计JAVA课程作业(选做)姓名:吴文杰学 号:5年级:16春学习中心:紫金港第一章1 简述面向过程问题求解和面向对象问题求解的异同。面向对象: 举个例子,盖一座大楼,你想到的是楼怎么盖,哪里要有柱子,哪里要有梁,哪里楼梯等等(这就是面向对象),至于柱子该怎么建,用什么建,方的圆的,等等,这就是面向过程。 用面向对象思考问题更符合我们人的思考方式。 其实我们人现实生活中都是在面向对象。比如:去饭店吃饭,你只要说明吃什么就可以了,有必要还了解这个菜是怎么做的,是哪里来的,怎么去种这个菜吗? 面向对象也可以说是从宏观方面思考问题,而面向过程可以
2、说是从细节处思考问题。在面向对象中,也存在面向过程。2 面向对象的程序设计方法有哪些优点?1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的.2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量.3、效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类.使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量.4、易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成
3、本较低.第二章1 编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出“Welcome to Java World!”。/* * Created by wuwj on 2016/12/3. */public class Test public static void main(String args) System.out.println(Welcome to Java World!); 2 编写一个Java Applet,使之能够在浏览器中显示“Welcome to Java Applet World!”的串信息。controllerpublic
4、class TestResponseBodyRequestMapping(“/test”) public String JavaWorld return Welcome to Java Applet World!; 3 Java 语言有哪些主要特点?(1)简单的 从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快地掌握Java编程技术。Java摒弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。 (2)面向对象的 面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面
5、向对象的特性.Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术. (3)健壮的 Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比C+还要严格。类型检查帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效地避免了C+中最头疼的内存泄漏问题。 (4)安全的 Java的安全性可以从两个方面得到保证。一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的
6、安全架构能确保恶意的代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。 (5)解释的 Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C+程序是编译执行的,C+程序代码被编译为本地机器指令,然后执行。 (6)与平台无关 Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序将被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。 (7)多线程的 Java语言的一个重要特性就是在语言级支持多线程
7、的程序设计。 (8)动态的 Java的动态特性是其面向对象设计方法的扩展,它允许程序动态地装入运行过程中所需要的类,这是我们采用C+语言进行面向对象程序设计所无法实现的。第三章习题:1 编写程序输出用户指定数据的所有素数因子import java.util.Scanner;public class Test public static void main(String args) System.out.println(enter a number:); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); analyse(i);
8、public static void analyse(int i) int j = 2; while (i 1) for (j = 2; j =1 & i 0)balance=b; elseSystem.exit(1);connectNumber=s;connected=false;booleanperformConnection(longcn,intpw)if(cn=cardNumber&pw=password)connected=true;returntrue;elseconnected=false;returnfalse;doublegetBalance()if(connected)re
9、turnbalance;elsereturn-1;voidperformDial()if(connected)balance-=0.5;publicStringtoString()Strings=ConnectedPhoneNumber:+connectNumber+nCardNumber:+cardNumber+nCardPassword:+password+nThebalance:+balance;if(connected)return(s+nThephoneisconnected);elsereturn(s+nThephoneisdisconnected);第六章1编写一个程序,要求能完
10、成排序和查找,分别使用链表,数组和二叉树等数据结构,比较各种方法的优缺点。答:根放在0位置,以后假定当前位置是i,那么左子结点在2i+1,右子结点在2i+2。比如根的左子结点在1,右子结点在2。结点1的左子结点在3,右子结点在4。定义一种空值表示没有子结点,比如empty。假定一个结点由3个成员组成:value,left,right数组假定是全局的,如果不是可以作为参数传送。递归实现比较简单:voidbtree2array(node,index)if(node=NULL)arrayindex=empty;arrayindex=node-value;btree2array(node-left,index*2+1);btree2array(node-right,index*2+2);开始调用:btree2array(root,0);专心-专注-专业