异度部落格

学习是一种生活态度。

0%

getElementsByName()定义和用法 getElementsByName() 方法可返回带有指定名称的对象的集合。 语法

1
document.getElementsByName(name);

该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。 另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

getElementById()定义和用法 getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。 语法

1
document.getElementById(id);

说明
HTML DOM 定义了多种查找元素的方法,除了 getElementById() 之外,还有 getElementsByName() 和 getElementsByTagName()。 不过,如果您需要查找文档中的一个特定的元素,最有效的方法是 getElementById()。 在操作文档的一个特定的元素时,最好给该元素一个 id 属性,为它指定一个(在文档中)唯一的名称,然后就可以用该 ID 查找想要的元素。

PS:要注意 getElementsByName()返回的是一个集合,即使只有一个,也要加上下标索引

isNaN 函数

1
isNaN(expression:Object) : Boolean

计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。

参数
expression:Object - 要计算的布尔值、变量或其它表达式。

返回
Boolean - 一个布尔值。

例子:

1
2
3
4
5
if (isNaN(document.login.imgcode.value)) {
alert("验证码必须是数字!");
document.login.imgcode.focus();
return false;
}

异常:java.sql.SQLException: Before start of result set

解决方法:使用 rs.getString();前一定要加上 rs.next();

原因:ResultSet 对象代表 SQL 语句执行的结果集,维护指向其当前数据行的光标。每调用一次 next()方法,光标向下移动一行。最初它位于第一行之前,因此第一次调用 next()应把光标置于第一行上,使它成为当前行。随着每次调用 next()将导致光标向下移动一行。在 ResultSe 对象及其 t 父辈 Statement 对象关闭之前,光标一直保持有效。

要是感觉配置麻烦的娃,就直接装装个 MyEclipse 好了,这个就不多说了。

下面的安装步骤所涉及的软件版本都是比较低的,可以换用新版本的,反正不影响效果。

一、JDK 的安装

1、下载 Java 开发工具包(JDK1.4 及以上:Java Development Kit)。

2、运行 J2SDK 安装文件 jdk-1_5_0_14-windows-i586-p.exe。

3、JDK 环境变量的设置:JAVA_HOME, C:/jdk1.5.0_14。

4、CLASSPATH 设置: JDK1.5.0 安装目录/lib/tools.jar。

5、PATH 设置: JDK1.5.0 安装目录/bin。

测试:在 dos 命令窗口下面输入 javac 看能否找到命令

二、Eclipse 的安装

1、下载 Eclipse (Eclipse3.1.1 版本)

2、将压缩包文件 eclipse-SDK-3.1.1-win32.zip 解压到指定的位置。

3、查看安装完成 Eclipse 文件夹中的目录结构。

4、找到安装目录下的 eclipse.exe 文件双击运行。

三、Eclipse 多国语言包的安装

1、下载 Eclipse3.1.1 版本的多国语言包。

2、将压缩包文件 NLpack1-eclipse-SDK-3.1.1a-win32.zip 解压后获得的文件存放在 Eclipse 安装目录下的 Language 子目录中。

3、在 Eclipse 安装目录下创建子目录 links, 并在该目录下新建一个文本文件,名称为 language.start,在文本文件中键入 path=d://eclipse//language。

4、删除 Eclipse 安装目录中的 configuration 子目录下面的 org.eclipse.update 目录。(要是没有完全汉化,再次执行第四步)

四、Eclipse 中文本编辑器编码的设置

1、选择“窗口”菜单中的“首选项”命令。

2、选择“常规”→“编辑器”。

3、设置文本文件编码为 UTF-8。

4、在 Web and XML 里面的 JSP Files 设置编码为 UTF-8。

五、安装应用服务器 Tomcat

1、下载 Tomcat。

2、运行 Apache Tomcat 安装文件 jakarta-tomcat-5.0.19.exe。

3、打开 IE 浏览器,在地址栏输入http://127.0.0.1:8080或者http://localhost:8080 查看 Tomcat 欢迎页面。

六、安装 Eclipse 中的 Tomcat 插件

1、下载 Tomcat 插件。

2、将压缩包文件 tomcatPluginV31beta.zip 解开后得到的文件名称为:com.sysdeo.eclipse.tomcat_3.1.0.beta 的文件夹放到 Eclipse 安装目录下的 plugins 目录下。

3、重新启动 Eclipse。

4、设置:选择“窗口”菜单中的“首选项”命令。选择 Tomcat 的相关设置。

5、设置 Tomcat Version 和 Tomcat Home 路径

6、在 JVM Setting 中设置 JRE 为 jre.1.5.0_14

7、修改 Java 编译器配置,首选项->Java->编译器,在内联 finally 块打钩

七、安装 Eclipse 中的 Lomboz 插件

1、下载 Lomboz 插件:

 lomboz-3.1RC2.zip和lomboz-emf-gef-jem-3.1RC.zip

 org.objectweb.lomboz_3.0.1.N20050106

2、在 Eclipse 安装目录下分别创建两个文件夹,名称分别为:lomboz 和 emf。

3、将 lomboz-3.1RC2.zip 解压到 lomboz 文件夹下。

4、将 lomboz-emf-gef-jem-3.1RC.zip 解压到 emf 文件夹下。

5、在 link 文件夹下创建两个文件用于指明对应路径。

6、将 org.objectweb.lomboz_3.0.1.N20050106 解压到 lomboz 目录下面

八、MySQL 的安装

1、下载 MySQL 安装程序:MySQL 4.1.14

2、解压缩下载的压缩文件,获得名称为 setup.exe 的安装程序,双击安装程序,开始 MySQL 数据库系统的安装。

3、安装 MySQL 服务器端管理工具

  mysql-administrator-1.1.3-win.msi

4、安装 MySQL 客户端查询浏览工具

  mysql-query-browser-1.1.15-win.msi

SVM 方法的基本思想是:定义最优线性超平面,并把寻找最优线性超平面的算法归结为求解一个凸规划问题。进而基于 Mercer 核展开定理,通过非线性映射 φ,把样本空间映射到一个高维乃至于无穷维的特征空间(Hilbert 空间),使在特征空间中可以应用线性学习机的方法解决样本空间中的高度非线性分类和回归等问题。

使用工具:
1)Libsvm:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
2)python:版本为 2.6.x 或 2.7 都可以
3)gnuplot:http://www.gnuplot.info/

数据样本下载:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/
(建议成对下载训练样本和测试样本)

配置环境:
将一下变量添加到环境变量中:
C:/Program Files/Python27;
C:/gnuplot/binary;
C:/libsvm-3.0/libsvm-3.0/windows

1、  利用 svm-train 训练样本并生成训练模型
Dos 中输入:svm-train.exe –c 512 –g 0.002 data1.train
image1
将生成一个后缀为 model 的文件
image2

2、  利用 svm-predict 预测测试数据
在 dos 中输入:svm-predict.exe data1.testing data1.train.model data1.out image3

3、  使用 grid.py 获取最佳参数
这边令参数 c 为 512,g 为 0.002 并不是最佳参数,后面将介绍使用 grid.py 来获取最佳参数
转到 tools 目录下 cd C:/libsvm-3.0/libsvm-3.0/tools
打开 grid.py 修改 gnuplot_exe 的路径,将路径改为和你的 gnuplot 路径一致
gnuplot_exe = r"C:/gnuplot/binary/pgnuplot.exe"
在 dos 中执行:python grid.py data1.train
等个几分钟就会获得一个最佳参数并生成一张分析过程图片

4、  使用 easy.py 一步到位
要是觉得前面的过程过于繁琐的话,可以使用 easy.py 进行直接处理
首先还是修改 gnuplot_exe 路径
然后在 dos 中执行:python easy.py data1.train data1.testing

image4

【题目描述】给定n个实数x1,x2,...,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的时间算法

【题目来源】百度

【题目分析】
由于要求要线性时间,所以不能使用排序,于是使用了一种类似桶排序的变形

【算法】
距离平均值为offset =(arrayMax - arrayMin) / (n - 1), 则距离最大的数必然大于这个值。 每个桶只要记住桶中的最大值和最小值,依次比较上一个桶的最大值与下一个桶的最小值的差值,找最大的即可.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/**
给定n个实数x1,x2,...,xn,求这n个实数在实轴上相邻2个数之间的最大差值,要求设计线性的时间算法
*/
/**
算法:
距离平均值为offset = (arrayMax - arrayMin) / (n - 1), 则距离最大的数必然大于这个值
每个桶只要记住桶中的最大值和最小值,依次比较上一个桶的最大值与下一个桶的最小值的差值
找最大的即可.
*/
#include <iostream>
#define MAXSIZE 100 //实数的个数
#define MAXNUM 32767
using namespace std;
struct Barrel
{
double min; //桶中最小的数
double max; //桶中最大的数
bool flag; //标记桶中有数
};
int BarrelOperation(double* array, int n)
{
Barrel barrel[MAXSIZE]; //实际使用的桶
int nBarrel = 0; //实际使用桶的个数
Barrel tmp[MAXSIZE]; //临时桶,用于暂存数据
double arrayMax = -MAXNUM, arrayMin = MAXNUM;
for(int i = 0; i < n; i++) {
if(array[i] > arrayMax)
arrayMax = array[i];
if(array[i] < arrayMin)
arrayMin = array[i];
}
double offset = (arrayMax - arrayMin) / (n - 1); //所有数的平均间隔
//对桶进行初始化
for(i = 0; i < n; i++) {
tmp[i].flag = false;
tmp[i].max = arrayMin;
tmp[i].min = arrayMax;
}
//对数据进行分桶
for(i = 0; i < n; i++) {
int pos = (int)((array[i] - arrayMin) / offset);
if(!tmp[pos].flag) {
tmp[pos].max = tmp[pos].min = array[i];
tmp[pos].flag = true;
} else {
if(array[i] > tmp[pos].max)
tmp[pos].max = array[i];
if(array[i] < tmp[pos].min)
tmp[pos].min = array[i];
}
}
for(i = 0; i <= n; i++) {
if(tmp[i].flag)
barrel[nBarrel++] = tmp[i];
}
int maxOffset = 0.0;
for(i = 0; i < nBarrel - 1; i++) {
if((barrel[i+1].min - barrel[i].max) > maxOffset)
maxOffset = barrel[i+1].min - barrel[i].max;
}
return maxOffset;
}
int main()
{
double array[MAXSIZE] = {1, 8, 6, 11, 7, 13, 16, 5}; //所需处理的数据
int n = 8; //数的个数
//double array[MAXSIZE] = {8, 6, 11};
//int n = 3;
int maxOffset = BarrelOperation(array, n);
cout << maxOffset << endl;
return 0;
}

【参考资料】 http://topic.csdn.net/u/20101015/15/1eaab1a3-4432-4f17-be8b-1716fef3e59c.html http://blog.csdn.net/livelylittlefish/archive/2008/03/23/2209537.aspx

使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是 6。 如果setprecision(n)setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。 如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。 例如,下面的代码分别用浮点、定点和指数方式表示一个实数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <iomanip.h> //要用到格式控制符

void main()
{
double amount = 22.0/7;
cout <<amount <<endl;
cout <<setprecision(0) <<amount <<endl
<<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;

cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;
cout <<setiosflags(ios::scientific) <<amount <<endl;


cout <<setprecision(6); //重新设置成原默认设置
}

运行结果为:

1
2
3
4
5
6
7
8
3.14286
3
3
3.1
3.14
3.143
3.14285714
3.14285714e+00

在用浮点表示的输出中,setprecision(n)表示有效位数。 第 1 行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值 6: 第 2 个输出设置了有效位数 0,C++最小的有效位数为 1,所以作为有效位数设置为 1 来看待: 第 3 ~ 6 行输出按设置的有效位数输出。在用定点表示的输出中,setprecision(n)表示小数位数。 第 7 行输出是与setiosflags(ios::fixed)合用。所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。 在用指数形式输出时,setprecision(n)表示小数位数。 第 8 行输出用setiosflags(ios::scientific)来表示指数表示的输出形式。其有效位数沿用上次的设置值 8

资料来源:
http://zhidao.baidu.com/question/31863763.html http://topic.csdn.net/u/20101014/10/0df6e43c-01a1-4354-b282-94d86e3f908d.html

有一个整数数组,保存 1 到 100 个整数。然后取出任意一个数字,让你用最快的办法找到取出的是哪个数字?

答案: 5050 减去 99 个数字的和即可得出结果.

PS:答案并不固定,只是本人举得老师的想法挺巧妙的,所以记录的说

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

解决方法:开始-> 所有程序-> Ms   Sql   Server-> 配置工具-> sql   server 外围应用配置器-> 服务和连接的外围应用配置器-> 打开 MSSQLSERVER 节点下的 Database   Engine   节点,先择 "远程连接 ",接下建议选择 "同时使用 TCP/IP 和 named   pipes ",确定后,重启数据库服务就可以了.

如何还是不行就是 connectionString 出问题了