自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 资源 (24)
  • 收藏
  • 关注

转载 JasperReports与iReport 简介

简介 JasperReports是一款开源的报表打印组件,是开源代码组织sf.net中的一个java报表打印工程,可以以PDF, HTML或XML等多种形式产生报表,支持分页打印,并且可以制作各种类型的图表。Jasperreport是按照一个预定义的xml文档来组织报表的数据,这些数据来源多样,包括关系数据库(通过配置JDBC连接)、java容器对象(collection和arrays)。要完成报

2010-05-18 16:28:00 1960 3

转载 Lucene in Action中文版

Lucene in Action中文版 第一部分 Lucene核心1.      接触Lucene  2.      索引 3.      为程序添加搜索4.      分析5.      高极搜索技术6.      扩展搜索第二部分 Lucene应用7.      分析常用文档格式8.      工具和扩充9.      Lucene其它版本10.   案例学习  序 Lucene开始是做为

2010-05-04 19:48:00 981

转载 json入门基础教程

在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式。掌握 Ajax 的这一期讨论另一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象。如果您阅读了本系列前面的文章,那么应已对数据格式有了相当的认识。前面的文章解释了在许多异步应用程序中如何恰当地使用纯文本和简单的名称/值对。可以将数据组合

2010-05-04 17:51:00 573

vnc客户端win32

vnc客户端win32 图形化远程操控工具

2012-02-29

VMware-workstation-full-8.0.2注册机

VMware Workstation 8.0.2.591240 注册机

2012-02-29

几种磁带格式的比较与探讨

几种磁带格式的比较与探讨 ECMA-13 MTF IBM兼容格式

2011-09-13

LTF(The Linear Tape File System)

LTFS(The Linear Tape File System)

2011-09-13

严蔚敏《数据结构(C语言版)习题集》答案

严蔚敏《数据结构(C语言版)习题集》答案 第一章 绪论 1.16 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数 { scanf("%d,%d,%d",&x,&y,&z); if(x<y) xy; //为表示交换的双目运算符,以下同 if(y<z) yz; if(x<y) xy; //冒泡排序 printf("%d %d %d",x,y,z); }//print_descending 1.17 Status fib(int k,int m,int &f)//求k阶斐波那契序列的第m项的值f { int tempd; if(k<2||m<0) return ERROR; if(m<k-1) f=0; else if (m==k-1 || m==k) f=1; else { for(i=0;i<=k-2;i++) temp[i]=0; temp[k-1]=1;temp[k]=1; //初始化 sum=1; j=0; for(i=k+1;i<=m;i++,j++) //求出序列第k至第m个元素的值 temp[i]=2*sum-temp[j]; f=temp[m]; } return OK; }//fib 分析: k阶斐波那契序列的第m项的值f[m]=f[m-1]+f[m-2]+......+f[m-k] =f[m-1]+f[m-2]+......+f[m-k]+f[m-k-1]-f[m-k-1] =2*f[m-1]-f[m-k-1] 所以上述算法的时间复杂度仅为O(m). 如果采用递归设计,将达到O(k^m). 即使采用暂存中间结果的方法,也将达到O(m^2). 1.18 typedef struct{ char *sport; enum{male,female} gender; char schoolname; //校名为'A','B','C','D'或'E' char *result; int score; } resulttype; typedef struct{ int malescore; int femalescore; int totalscore; } scoretype; void summary(resulttype result[ ])//求各校的男女总分和团体总分,假设结果已经储存在result[ ]数组中 { scoretype score[MAXSIZE]; i=0; while(result[i].sport!=NULL) { switch(result[i].schoolname) { case 'A': score[ 0 ].totalscore+=result[i].score; if(result[i].gender==0) score[ 0 ].malescore+=result[i].score; else score[ 0 ].femalescore+=result[i].score; break; case 'B': score[ 0 ].totalscore+=result[i].score; if(result[i].gender==0) score[ 0 ].malescore+=result[i].score; else score[ 0 ].femalescore+=result[i].score; break; …… …… …… } i++; } for(i=0;i<5;i++) { printf("School %d:\n",i); printf("Total score of male:%d\n",score[i].malescore); printf("Total score of female:%d\n",score[i].femalescore); printf("Total score of all:%d\n\n",score[i].totalscore); } }//summary 1.19 Status algo119(int a[ARRSIZE])//求i!*2^i序列的值且不超过maxint { last=1; for(i=1;i<=ARRSIZE;i++) { a[i-1]=last*2*i; if((a[i-1]/last)!=(2*i)) reurn OVERFLOW; last=a[i-1]; return OK; } }//algo119 分析:当某一项的结果超过了maxint时,它除以前面一项的商会发生异常. 1.20 void polyvalue() { float temp; float *p=a; printf("Input number of terms:"); scanf("%d",&n); printf("Input value of x:"); scanf("%f",&x); printf("Input the %d coefficients from a0 to a%d:\n",n+1,n); p=a;xp=1;sum=0; //xp用于存放x的i次方 for(i=0;i<=n;i++) { scanf("%f",&temp); sum+=xp*(temp); xp*=x; } printf("Value is:%f",sum); }//polyvalue

2011-04-14

超详细Oracle教程

超详细Oracle教程 引言 .................................................................................................................................................. 3 第一章 数据库基础 ......................................................................................................................... 6 第二章 Oracle入门 ......................................................................................................................... 6 第三章 查询基础 ........................................................................................................................... 11 第四章 单行函数 ........................................................................................................................... 14 第五章 分组函数 ........................................................................................................................... 19 第六章 多表查询 ........................................................................................................................... 21 第七章 子查询 ............................................................................................................................... 24 第八章 高级查询 ........................................................................................................................... 40 第九章 数据字典 ........................................................................................................................... 43 第十章 Oracle数据类型 ............................................................................................................... 44 第十一章 Oracle体系结构(DBA) ................................................................................................ 45 第十二章 DDL(改变表结构) ........................................................................................................ 46 第十三章 DML(改变数据结构) ................................................................................................. 48 第十四章 约束 ............................................................................................................................... 49 第十五章 视图 ............................................................................................................................... 55 第十六章 索引 ............................................................................................................................... 56 第十七章 序列、同义词 ............................................................................................................... 65 第十八章 PL SQL .......................................................................................................................... 67 第十九章 游标、函数 ................................................................................................................... 79 第二十章 存储过程 ....................................................................................................................... 86 第二十一章 触发器 ....................................................................................................................... 90 第二十二章 事务(数据库系统概论) ....................................................................................... 99 第二十三章 用户管理 ................................................................................................................. 100 第二十四章 备份 恢复 SQLLoader .......................................................................................... 104 第二十五章 数据库设计范式 ..................................................................................................... 106 第二十六章 数据库设计工具 ..................................................................................................... 107 第二十七章 对象关系数据库系统 ............................................................................................. 112 第二十八章 其他数据库 ............................................................................................................. 113

2011-04-14

C++大学教程-----chm版

一本书怎样适应两类读者呢?本书始终强调通过实践证明的结构化编程〔structuredprogramming)和面向对象编程(object-oriented programming)技术编写清晰的程序。非程序员从一开始就要养成良好的编程习惯。我们尽量以清晰而直接的方式编写程序。本书附有大量插图,更重要的是.本书提供大量实用的C++程序,并显示这些程序在计算机上运行时产生的输出结果。所有C++特性都是在完整、可工作的C++程序环境中介绍的,我们称其为“有生命力的代码”。所有这些例子都可以从我们的web站点www.deitel.com中下载.也可以通过本书所配的交互式光盘《C与C++多媒体教室(第二版)》中取得。多媒体教室的特性见本书最后的说明。多媒体教室中还包含本书一半练习的解答,包括简单解答、小型程序和许多完整项目。 本书的前五章介绍计算机基础、计算机编程和C++计算机编程语言。参加我们课程的新学员告诉我,第1章到第5章的材料为今后学习C++的高级知识打下了坚实基础。熟练的程序员可以快速浏览前五章,然后阅读本书其余部分对C++的有深度、有挑战性的介绍。 许多熟练的程序员告诉我们,他们很欣赏我们对结构化编程的处理、他们通常用C或Pascal结构化编程语言进行编程,但由于没有系统地学习结构化编程,因此常常无法用这些语言编写出最佳代码。学习本书前几章介绍的结构化编程知识后,有助于改进使用C或Pascal语言编程的风格。因此,无论你是新手还是熟练的程序员,这里的信息都是充实、有趣并且具有一定深度的。 大多数人对计算机能做的工作略有所知,利用本书可以学会如何指示计算机做这些工作。软件(sofware,即编写的指令,命令计算机完成操作并做出判断)可以控制计算机(通常称为硬件,Hardware)。C++是当今最常用的软件开发语言之一。本书介绍的C++版本已经过美国国家标准协会(ANSI,American ational Standards Institute)和国际标准化组织(IS0,International Stanards0rganization)的标准化,这个ANSI/ISO C++草案标准已经批准为全球标推。 计算机的应用领域在不断增加。在这个成本稳步攀升的时代,计算成本却在急速下降,因为硬件和软件技术都在飞速发展。25年前装满整个房间、价值上百万美元的计算机如今已经缩小到比手指甲还小的芯片,而且只要几美元。具有讽刺意味的是,硅是地球上最丰富的资源之一,是普通砂子的主要组成部分。硅芯片技术使计算技术如此经济,如今全世界已经有大约2亿台通用计算机在使用中,其应用涉及商业、工业、政府和个人生活。这个数字在近年内必将翻番。 本书将使读者面临几个挑战。几年前,人们学习第一个编程语言时可能只要学习C或Pascal,但实际上还需要学习C和C++,为什么呢?因为C++包括C语言和其他更多的内容。 几年前人们只需学习结构化编程(sstructured programming),而今则既要学习结构化编程,又要学习面向对象编程(object-oriented programming),因为面向对象是今后10年最关键的编程方法。本课程要建立和使用许多对象(Object),但是这些对象的内部结构最好用结构化编程方法建立。另外,操作对象的方法最好也用结构化编程方法来表达。 另一个介绍两种方法的原因是,目前有大量C++系统是从C语言系统移植过来的,还有大量的所谓“C语言遗留代码”。C语言已经使用20余年,近年来用得越来越多。人们学习C++之后就会发现,C++比C语言强得多,因此通常会转到使用C++.他们会将遗留的系统移植到C++,这是个相对简单的过程。然后,他们开始用各种C++对C++语言的增强特性改进其编写的类C语言程序的风格。最后,他们开始利用C++面向对象编程的功能,真正了解这种语言的全部好处。 编程语言中的一个有趣现象是,大多数厂家都推出C/C++产品组合而不是提供分开的产品。这样,用户可以继续使用C语言编程,适当时候再逐渐过渡到C++。 C++已经成为实现语言的首选.但它能在第一门编程课程中介绍吗?我们认为可以。五年前,当人们用Pascal作为第一门编程课程时,我们遇到过类似挑战。我们编写了《C How To Program》。 如今全世界几百所大学都在使用《C How To Prrogram》第二版,使用这本教材的课程和使用Pascal作为第一门编程课程一样有效。其间没有明显的差别,只是学生学习的兴趣更高,因为他们知道工作中要使用的是c语言而不是Pascal语言。学习C语言的学生还能更快地学习C++和新的Internet 语言——Java。 本书前五章介绍C++中的结构化编程方法、C++的“C语言部分”和“C++对C语言的改进”。然后要介绍C++面向对象编程,但我们不想等到第6章再介绍面向对象编程,因此前五章每一章都有一节“有关对象的思考”,介绍面向对象编程的基本概念和术语。第6章“类与数据抽象“将开始用C++生成对象并编写面向对象的程序。 第1章分为三部分,第一部分介绍计算机基础和计算机编程。第二部分立即开始编写一些简单C++程序,第三部分介绍有关对象的思考。 下面要开始富有挑战和回报的旅程了。学习过程中,如果想与我们联系,可以给我们发电子邮件 deltel@deitel.com 或浏览我们的web站点: http://www.deitel.com 我们将立即答复。希望大家喜欢学习《C++大学教程》,还可以使用本书的交互式光盘版本《C与C++多媒体教室(第二版)》,详见本书最后的说明。

2011-04-14

c/C++面试题大全--96页

本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。   许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。   分析这些面试题,本身包含很强的趣味性;而作为一名研发人员,通过对这些面试题的深入剖析则可进一步增强自身的内功。   2.找错题   试题1: void test1() {  char string[10];  char* str1 = "0123456789";  strcpy( string, str1 ); }   试题2: void test2() {  char string[10], str1[10];  int i;  for(i=0; i<10; i++)  {   str1[i] = 'a';  }  strcpy( string, str1 ); }   试题3: void test3(char* str1) {  char string[10];  if( strlen( str1 ) <= 10 )  {   strcpy( string, str1 );  } }   解答:   试题1字符串str1需要11个字节才能存放下(包括末尾的’\0’),而string只有10个字节的空间,strcpy会导致数组越界;   对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string, str1)调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7分,在此基础上指出库函数strcpy工作方式的给10分;   对试题3,if(strlen(str1) <= 10)应改为if(strlen(str1) < 10),因为strlen的结果未统计’\0’所占用的1个字节。   剖析:   考查对基本功的掌握:   (1)字符串以’\0’结尾;   (2)对数组越界把握的敏感度;   (3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案:   2分 void strcpy( char *strDest, char *strSrc ) {   while( (*strDest++ = * strSrc++) != ‘\0’ ); }   4分 void strcpy( char *strDest, const char *strSrc ) //将源字符串加const,表明其为输入参数,加2分 {   while( (*strDest++ = * strSrc++) != ‘\0’ ); }   7分 void strcpy(char *strDest, const char *strSrc) {  //对源地址和目的地址加非0断言,加3分  assert( (strDest != NULL) && (strSrc != NULL) );  while( (*strDest++ = * strSrc++) != ‘\0’ ); }   10分 //为了实现链式操作,将目的地址返回,加3分! char * strcpy( char *strDest, const char *strSrc ) {  assert( (strDest != NULL) && (strSrc != NULL) );  char *address = strDest;  while( (*strDest++ = * strSrc++) != ‘\0’ );   return address; } 从2分到10分的几个答案我们可以清楚的看到,小小的strcpy竟然暗藏着这么多玄机,真不是盖的!需要多么扎实的基本功才能写一个完美的strcpy啊!   (4)对strlen的掌握,它没有包括字符串末尾的'\0'。   读者看了不同分值的strcpy版本,应该也可以写出一个10分的str

2011-04-14

设计模式精解-GoF 23种设计模式解析附C++实现源码

设计模式精解-GoF 23种设计模式解析附C++实现源码 设计模式精解-GoF 23种设计模式解析附C++实现源码

2011-04-13

java经典面试题--不下莫后悔

java经典面试题java经典面试题java经典面试题

2011-04-13

java面试题题集--不下莫后悔

java面试题题集 经典 精辟 不下莫后悔

2011-04-13

struts2.0中文教程

struts2.0中文教程 总结 上面的例子简单地演示了,Web 应用程序的基本操作,也即是,页面输入->Action处理->再输出到另外页面。Struts 2.0的简单易用、方便测试相信也会给大家留下不错的印象吧。我相信,Struts 2.0作为一个全新的Web架构,将会再次掀起Web开发的热潮。 不过,Struts 2.0还在测试中,正式版的发布还需些时日,所以文档方面可能有所欠缺。请大家继续留意我的博客,我会尽我所能为大家写更多关于Struts 2.0的文章。 posted on 2006-10-10 18:35 Max 阅读(12691) 评论(112) 编辑 收藏 引用 所属分类: Struts 2.0系列 评论共2页: 1 2 评论: # re: 为Struts 2.0做好准备 2006-10-26 22:57 | esmiles 纠正一个错误: HelloWorld.jsp中的<s:property name="name" /> name属性是错的。应该改成value属性,既: <s:property value="name" /> 回复 更多评论 # re: 为Struts 2.0做好准备 2006-10-27 09:12 | Max @esmiles Thanks,已经改正。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-10-27 14:48 | Max @风人园 我没有遇过这种情况。 其实不用加也是可以运行的,只不过在tomcat加载应用程序时会有提示。 加一个空白的struts.properties文件就可以解决。 Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。 1、struts.xml用于应用程序相关的配置 2、struts.properties用于Struts 2.0的运行时(Runtime)的配置 回复 更多评论 # re: 为Struts 2.0做好准备 2006-10-30 10:44 | Max @张先生 struts-default.xml文件不用您自己加,它位于struts2-core-2.0.0.jar包中。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-02 23:14 | Tin 谢谢Max的教程。大家也可以到WebWork中文网站:http://webwork.javascud.org/ http://wiki.javascud.org/display/ww2cndoc/WebWork 看看。里面有WebWork 2.2的中文参考手册。 Struts 2.0.1目前还完全等于WebWork 2.2.x,所以可以参照WebWork2手册学习。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-10 00:47 | Goingmm[匿名] 简单易懂!测试通过 需要尝试的朋友,有一个细节需要注意: 我开始图方便是把所有包都引入。结果出现struts2-all-2.0.1.jar包和struts2-core-2.0.1.jar包冲突。原因很简单就是这2个包里面都有struts-default.xml文件。造成重复定义 结论:在struts-2.0.1的lib下面有很多jar包。做这个测试只需要引入图5显示的其中6个包(在版本2.0.1里面没有struts2-extras-2.0.0.jar,所以不用引这个包) 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-22 21:42 | 太行山人 default-config.xml有什么用?一定要include到struts.xml中吗? 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-26 18:32 | Max Default-config.xml contains some interceptor stacks and common configurations. Including it can help you to create action easier 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-27 12:36 | 太行山人 如果我不想用default-config.xml中的默认配置,而是自己对default-config.xml中的一些参数自定义,应该把这个文件放在哪里呢?还是直接覆盖jar包中的这个文件呢? 或者,在struts.xml中配置相应的元素,会覆盖default-config.xml中相应元素的配置? 回复 更多评论 # re: 为Struts 2.0做好准备 2006-11-28 23:52 | Max 在struts.xml中配置相应的元素,可以覆盖default-config.xml中相应元素的配置。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-02 13:26 | jakki @Max 警告: Could not find or error in struts.properties java.lang.IllegalStateException: struts.properties missing 我老是遇到报这个错,我已经加了这个文件了,怎么还报 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-04 18:50 | 张先生 把struts.properties 放到classes下即可了!! 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-05 10:52 | kevin666888 为什么不能正确显示中文: 如果在SayHello.jsp页面的输入框中输入中文,(如“世界”) 提交后显示的是乱码,如"Hello, ?=?!" 请各位指教。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-05 18:34 | Max HelloWorld.jsp中<%@ page contentType="text/html; charset=UTF-8" %>有没有加上这个? 在我的环境中没有这个问题。 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-07 21:20 | konhon 优华 非常詳細... 我照做了下, 全通過 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-14 15:04 | xanbio @风人园 如果你是直接copy的过去就会有这个问题。。建议把配置文件按照上面的手写一遍就好了。。 我也遇到过这样的问题 回复 更多评论 # re: 为Struts 2.0做好准备 2006-12-14 15:07 | xanbio 不完全这样, 1.你需要在你的classpath下放置struts.properties文件。 2.同时你需要将tomcat下的你的项目的启动文件的conttext元素的reload属性设为true。 回复 更多评论 # 问一个关于中文乱码的问题。 2007-04-03 17:44 | lhx 我有一个注册页面register.jsp 如下,这样在页面上中文可以正确显示,但是到action中取出来的“user.username”就是乱吗了,该怎么解决啊? <%@ page contentType="text/html;charset=GBK"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Sign On</title> </head> <body> <s:form action="RegisterAction"> <table> <tr> <td>姓名</td> <td><s:textfield key="user.username"/></td> </tr> <tr> <td>地址</td> <td><s:textfield key="user.address" /></td> </tr> <tr><td colspan="2"><s:submit/></td></tr> </table> </s:form> 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-07 22:56 | Max @lhx <%@ page contentType="text/html;charset=GBK"%> 将页面的输出编码设置为:GBK,但是又使用了: <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 告诉浏览器使用gb2312来显示页面。 建议大家将编码都设为utf-8,在我开发的过程中很少碰到乱码的情况。 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-09 14:53 | open @风人园 请你加入这个试试: 把HelloWorld 更改为:HelloWorld.action看看的,应该是这个的问题! 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-18 13:36 | jiajia 启动tomcat时,strurs2自动得读default-config.xml配置文件,那么怎么读自己建的struts.xml文件 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-18 23:05 | Max @jiajia Struts 2默认会读取classpath下的struts-default.xml,struts-plugin.xml,struts.xml这三个文件。 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-19 09:49 | jiajia 谢谢max的回答,再问一下struts-plugin.xml这个文件在哪个jar包里面,还是自己定义的 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-19 23:19 | Max @jiajia struts-plugin.xml会在你下载的plugin的jar包中,如struts2-spring-plugin-2.0.6.jar。 回复 更多评论 # re: 为Struts 2.0做好准备 2007-04-19 23:28 | Max @Tony 你应该没在web.xml有配置struts 2的filter,试下将以下列代码加到web.xml的<web-app></web-app>元素之间: <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 回复 更多评论 # re: 为Struts 2.0做好准备 2007-05-10 17:31 | gpiaofei2006 全部按照步骤做完后,在SayHello.jsp,填上任意名字,执行结果都是Hello,null!十分迷惑 回复 更多评论 # re: 为Struts 2.0做好准备 2007-05-13 13:58 | gpiaofei2006 # re: 为Struts 2.0做好准备 2006-10-26 22:57 | esmiles 纠正一个错误: HelloWorld.jsp中的<s:property name="name" /> name属性是错的。应该改成value属性,既: <s:property value="name" /> HelloWorld.jsp中的<s:property name="name" /> 应该不改变 否则结果为:Hello,null; 回复 更多评论

2010-01-11

计算机程序构造与解释答案(周银辉)

1,过程作为返回值 在1.3中我们明白了高阶函数之后,“用一个过程作为另外一个过程的返回值”则是稀松平常的事情了,比如下面的代码: (define (f x) (+ x 1)) (define (g) f) ((g) 2) 函数g没有参数,其返回值为函数f,所以((g) 2)就运算结果就是(f 2),最后运算结果为3。 上面是用一个已命名的函数作为返回结果的,相应的,也可以将一个“匿名过程”作为结果返回,这里的“匿名过程”也就是我们的Lambda表达式,所以上面的代码可以改造成: (define (g) (lambda (x) (+ x 1))) ((g) 2) 那么((g) 2)的运算结果就是((lambda (x) (+ x 1)) 2),最后运算结果为3。 2,牛顿法 学到这里,你可能需要复习一下高等数学的基本内容,包括“导数”和“微分”,高数的在线教材可以在这里找到:http://sxyd.sdut.edu.cn/gaoshu1/index.htm 关于牛顿法的介绍可以看这里:http://en.wikipedia.org/wiki/Newton%27s_method ,下面是程序: (define (close-enough? v1 v2) (< (abs (- v1 v2)) 0.000000001)) ;定义不动点函数 (define (fixed-point f first-guess) (define (try guess step-count) (let ((next (f guess))) (if (close-enough? guess next) next (try next (+ step-count 1))))) (try first-guess 0)) ;定义导数函数 (define (D f) (lambda (x dx) (/ (- (f (+ x dx)) (f x)) dx))) ;牛顿法 (define (newton g first-guess) (fixed-point (lambda (x) (- x (/ (g x) ((D g) x 0.000000001)))) first-guess)) ;平方 (define (square x) (* x x)) ;定义开方,来测试下牛顿法 (define (sq x) (newton (lambda (y) (- (square y) x)) 1.0)) (sq 5) 3,“一等公民” 这里列出了程序语言中作为“一等公民”的语言元素所具备的几个“特权”: 可以用变量命名 可以作为过程参数 可以作为过程返回结果 可以被包含在数据结构中 4,练习1.40 求三次方程 x^3 + ax^2 + bx + c 的零点。 首先,证明 函数f(x) = x^3 + ax^2 + bx + c 是“可微”的: 由可导和可微的性质知道,可导和可微互为充要条件,所以,要证可微我们可以先证可导, f ’ (x) = (x^3)’ + (ax^2)’ + (bx)’ + (c)’ = 3x^2 + 2ax + b 所以f(x)的导数存在,那么f(x)可导,其必定可微。 其次,利用“牛顿法”:如果f(x)是可微函数,那么f(x)=0的一个解就是函数(x – f(x)/df(x)的一个不动点,其中df(x)是f(x)的导数。所以我们可以轻松得到下面的代码: (define (close-enough? v1 v2) (< (abs (- v1 v2)) 0.000000001)) ;定义不动点函数 (define (fixed-point f first-guess) (define (try guess step-count) (let ((next (f guess))) (if (close-enough? guess next) next (try next (+ step-count 1))))) (try first-guess 0)) ;定义导数函数 (define (D f) (lambda (x dx) (/ (- (f (+ x dx)) (f x)) dx))) ;牛顿法 (define (newton g first-guess) (fixed-point (lambda (x) (- x (/ (g x) ((D g) x 0.000000001)))) first-guess)) ;定义cubic函数,也就是我们题目中所谓的f(x) (define (cubic a b c) (lambda (x) (+ (* x x x) (* a x x) (* b x) c))) ;随便定义几个系数 (define a 3) (define b 5) (define c 8) (define result (newton (cubic a b c) 1.0)) ;定义一个验证过程,让其验证得到的解,是否让方程成立 (define (validate x) (= 0 (+ (* x x x) (* a x x) (* b x) c))) ;输出结果 result ;验证结果 (validate result) 比如上面我们计算 x^3 + 3x^2 + 5x + 8 = 0, 其一个解为:-2.3282688556686084 .....

2010-01-11

spring2.5-reference

spring2.5-reference 1.核心技术 2.中间层数据访问 3.the web 4.整合 5.示例程序 ...

2010-01-11

hibernate_reference

hibernate_reference 1.hibernate入门 2.体系结构 3.配置 4.持久化类 5.对象关系数据库映射 6.集合类 ...

2010-01-11

FLEX数据绑定专题

1. 关于数据绑定 数据绑定是将一个对象中的数据同另一个对象中的数据联系在一起的过程。数据绑定为在 应用的不同层之间传递数据提供了便捷方法。数据绑定需要一个源属性,一个目的属性,以及 用于表明何时将数据从源属性拷贝到目的属性的触发事件。当源属性变化时,对象发出触发事 件。 Adobe Flex 提供三种方法用于指定数据绑定:MXML 中的大括号({})语法,MXML 中的 <mx:Binding>标记,以及ActionScript 中的BindingUtils 的系列方法。下面的例子使用大括 号({})语法来展示一个Text 控件,该控件的数据来自于TextInput 控件Text 属性: <?xml version="1.0"?> <!-- binding/BasicBinding.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:TextInput id="myTI" text="Enter text here"/> <mx:Text id="myText" text="{myTI.text}"/> </mx:Application> 大括号中所括的属性名就是绑定表达式中的源属性。当源属性的值放生变化时,Flex 把源属性 myTI.text 的当前值拷贝到目的属性 数据绑定表达式中可以将ActionScript 代码以及E4X 表达式作为一部分包含进来,如下例 所示: <?xml version="1.0"?> <!-- binding/BasicBindingWithAS.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:TextInput id="myTI"/> <mx:Text id="myText" text="{myTI.text.toUpperCase()}"/> </mx:Application> 在这个例子中,当Flex 将源属性的数据拷贝到目的属性时,使用ActionScript 的 String.toUpperCase()方法将源属性中的文本转化为大写形式。关于更多的信息参看:在数据 绑定中使用ActionScript 以及在数据绑定中使用E4X 表达式。 可以用<mx:Binding>标记 作为大括号语法的替代方法。在使用<mx:Binding>时,要为 <mx:Binding>标记提供一个源属性作为标记的source 属性以及提供一个目的属性作为标记的 destination 属性。下面的例子使用<mx:Binding>标记定义了一个从TextInput 控件到Text 控 件的数据绑定: <?xml version="1.0"?> <!-- binding/BasicBindingMXML.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:TextInput id="myTI"/> <mx:Text id="myText"/> <mx:Binding source="myTI.text" destination="myText.text"/> </mx:Application> 同大括号语法相比,用<mx:Binding>标记能够将视图(用户界面)同模型完全分离。 <mx:Binding>标记也能实现将多个源属性绑定到一个相同的目的属性,这是因为能够定义多个 具有相同的destination 属性的<mx:Binding>标记。例子请参照“绑定多个源属性到一个目的 属性”。

2009-08-09

VC++ 编程指南.chm

第一课 Windows编程和面向对象技术   1.1 Windows发展历史   1.2 Windows操作系统特点   1.3 Windows应用程序设计的特点   1.4 Windows应用程序的开发工具   1.5 面向对象和Windows编程 第二课 使用Visual C++ 5.0   2.1 Visual C++可视化集成开发环境   2.2 创建、组织文件、工程和工作区   2.3 WIN32开发   2.4 MFC编程   2.5 移植C Windows程序到MFC   2.6 Visual C++5.0新特性 第三课 窗口、菜单与消息框   3.1 编写第一个窗口程序   3.2 AppWizard所创建的文件   3.3 编译和链接Hello程序   3.4 应用程序执行机制   3.5几种窗口类型   3.6 使用菜单   3.7 更新命令用户接口(UI)消息   3.8 快捷菜单 第四课 工具条和状态栏   4.1 工具条的可视化设计   4.2 工具条的编程技术   4.3 状态栏的设计与实现 第五课 对话框   5.1对话框和控件的基本概念   5.2 对话框模板的设计   5.3 对话框类的设计   5.4 非模态对话框   5.5 标签式对话框   5.6 公用对话框   5.7 小结 第六课 控件 6.1 传统控件   6.2 新型Win32控件   6.3 控件的技术总结   6.4 在非对话框窗口中使用控件   6.5 如何设计新的控件   6.6 小结 第七课 文档视结构   7.1 文档/视图概念   7.2 文档视结构程序实例   7.3 让文档视结构程序支持卷滚   7.4 定制串行化   7.5 不使用串行化的文档视结构程序   7.6 小 结 第八课 多文档界面MDI   8.1多文档界面窗口   8.2图形设备接口(GDI)   8.3 绘图程序   8.4访问当前活动视图和活动文档   8.5分隔视图   8.6打印和打印预览   8.7支持多个文档类型的文档视结构程序   8.8防止应用程序运行时创建空白窗口   8.9小结 第九课 创建用户模块   9.1用户模块   9.2静态连接库   9.3创建动态库   9.4小结 第十课 数据库编程   10.1 数据库的基本概念   10.2 ODBC基本概念   10.3 MFC的ODBC类简介   10.4 CDatabase类   10.5 CRecordset类   10.6 CRecordView类   10.7 编写Enroll数据库应用例程   10.8 DAO和DAO类   10.9 自动注册DSN和创建表   10.10 小结 第十一课 多媒体编程   11.1 调色板   11.2位图   11.3依赖于设备的位图(DDB)   1.4与设备无关的位图(DIB)   11.5动画控件   11.6媒体控制接口(MCI).   11,7小结  第十二章 多线程与串行通信   12.1 多任务、进程和线程   12.2 线程的同步   12.3 串行通信与重叠I/O   12.4 一个通信演示程序   12.5 小结 --------------------------------------------------------------------------------

2009-03-14

JSP由浅入深(CHM).chm

JSP由浅入深(3)—— 通过表达式增加动态内容 编译:ZSC/太平洋网络学院   在我们前面的章节中,任何的HTML文件都可以转变成JSP文件,做法是通过改变它的扩展名为.jsp。当然,我们要知道是什么使得JSP有用呢?答案是嵌入Java的能力。将下列文本放置在一个以.jsp为扩展名的文件中,比如说这个文件为myjsp.jsp,然后将这个文件放置到你的JSP目录下并且在浏览器上看它。以下是具体的代码: <HTML> <BODY> Hello! The time is now <%= new java.util.Date() %> </BODY> </HTML> 这里要注意,每次你在浏览器中重载网页的时候,它就出现当前时间。字符系列<%= and %>的作用是圈起Java表达式,这个表达式将在运行的时候被计算。 正因为这样,使用JSP产生动态HTML网页来响应用户的动作才变为可能。 好吧,教程结束之后你最好作个练习:为不同的系统属性编写一个JSP用来输出由System.getProperty返回的数值,比如java.version、java.home、os.name、user.home以及user.dir等等。 [上一页] [下一页]

2009-03-14

java语言入门.chm

第 一 章 Java语 言 的 产 生 及 其 特 点 第 二 章 Java程 序 开 发 与 运 行 环 境 第 三 章 Java程 序 设 计 基 础 第 四 章 Java应 用 程 序 的 基 本 框 架 ……

2009-03-14

批处理教程(txt)

这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识。

2009-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除