Java SE 6 新特性 HTTP 增强

Java SE 6 新特性 HTTP 增强
Java SE 6 新特性 HTTP 增强

概述

Java 语言从诞生的那天起,就非常注重网络编程方面的应用。随着互联网应用的飞速发展,Java 的基础类库也不断地对网络相关的 API 进行加强和扩展。在 Java SE 6 当中,围绕着 HTTP 协议出现了很多实用的新特性:NTLM 认证提供了一种 Window 平台下较为安全的认证机制;JDK 当中提供了一个轻量级的 HTTP 服务器;提供了较为完善的 HTTP Cookie 管理功能;更为实用的NetworkInterface;DNS 域名的国际化支持等等。

NTLM 认证

不可避免,网络中有很多资源是被安全域保护起来的。访问这些资源需要对用户的身份进行认证。下面是一个简单的例子:

import https://www.360docs.net/doc/3315935251.html,.*;

import java.io.*;

public class Test {

public static void main(String[] args) throws Exception { URL url = new URL("https://www.360docs.net/doc/3315935251.html,");

URLConnection connection = url.openConnection();

InputStream in = connection.getInputStream();

byte[] data = new byte[1024];

while(in.read(data)>0)

{

//do something for data

}

in.close();

}

}

当 Java 程序试图从一个要求认证的网站读取信息的时候,也就是说,从联系于 https://www.360docs.net/doc/3315935251.html, 这个 URLConnection 的 InputStream 中 read 数据时,会引发 FileNotFoundException。尽管笔者认为,这个 Exception 的类型与实际错误发生的原因实在是相去甚远;但这个错误确实是由网络认证失败所导致的。

要解决这个问题,有两种方法:

其一,是给 URLConnection 设定一个“Authentication”属性:

这里假设 https://www.360docs.net/doc/3315935251.html, 使用了基本(Basic)认证类型。

从上面的例子,我们可以看出,设定 Authentication 属性还是比较复杂的:用户必须了解认证方式的细节,才能将用户名/密码以一定的规范给出,然后用特定的编码方式加以编码。Java 类库有没有提供一个封装了认证细节,只需要给出用户名/密码的工具呢?

这就是我们要介绍的另一种方法,使用 https://www.360docs.net/doc/3315935251.html,.Authentication 类。

每当遇到网站需要认证的时候,HttpURLConnection 都会向

Authentication 类询问用户名和密码。

Authentication 类不会知道究竟用户应该使用哪个 username/password 那么用户如何向 Authentication 类提供自己的用户名和密码呢?

提供一个继承于 Authentication 的类,实现 getPasswordAuthentication 方法,在 PasswordAuthentication 中给出用户名和密码:

然后,将它设为默认的(全局)Authentication:

那么,不同的网站需要不同的用户名/密码又怎么办呢?

Authentication 提供了关于认证发起者的足够多的信息,让继承类根据这些信息进行判断,在 getPasswordAuthentication 方法中给出了不同的认证信息:

另一件关于 Authentication 的重要问题是认证类型。不同的认证类型需要Authentication 执行不同的协议。至 Java SE 6.0 为止,Authentication 支持的认证方式有:

这里我们着重介绍 NTLM。

NTLM 是 NT LAN Manager 的缩写。早期的 SMB 协议在网络上明文传输口令,这是很不安全的。微软随后提出了 WindowsNT 挑战/响应验证机制,即 NTLM。

NTLM 协议是这样的:

·客户端首先将用户的密码加密成为密码散列;

·客户端向服务器发送自己的用户名,这个用户名是用明文直接传输的;

·服务器产生一个 16 位的随机数字发送给客户端,作为一个 challenge (挑战);

·客户端用步骤1得到的密码散列来加密这个 challenge ,然后把这个返回给服务器;

·服务器把用户名、给客户端的 challenge 、客户端返回的 response 这三个东西,发送域控制器;

·域控制器用这个用户名在 SAM 密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge;

·域控制器比较两次加密的 challenge ,如果一样,那么认证成功;

Java 6 以前的版本,是不支持 NTLM 认证的。用户若想使用HttpConnection 连接到一个使用有 Windows 域保护的网站时,是无法通过NTLM 认证的。另一种方法,是用户自己用 Socket 这样的底层单元实现整个协议过程,这无疑是十分复杂的。

终于,Java 6 的 Authentication 类提供了对 NTLM 的支持。使用十分方便,就像其他的认证协议一样:

这里,根据 Windows 域账户的命名规范,账户名为域名+”/”+域用户名。如果不想每生成 PasswordAuthentication 时,每次添加域名,可以设定一个系统变量名“http.auth.ntlm.domain“。

Java 6 中 Authentication 的另一个特性是认证协商。目前的服务器一般同时提供几种认证协议,根据客户端的不同能力,协商出一种认证方式。比如,IIS服务器会同时提供 NTLM with kerberos 和 NTLM 两种认证方式,当客户端不支持 NTLM with kerberos 时,执行 NTLM 认证。

目前,Authentication 的默认协商次序是:

GSS/SPNEGO -> Digest -> NTLM -> Basic

那么 kerberos 的位置究竟在哪里呢?

事实上,GSS/SPNEGO 以 JAAS 为基石,而后者实际上就是使用 kerberos 的。

轻量级 HTTP 服务器

Java 6 还提供了一个轻量级的纯 Java Http 服务器的实现。下面是一个简单的例子:

httpServer.createContext("/myapp/", new MyHttpHandler());

httpServer.setExecutor(null);

httpServer.start();

System.out.println("started");

}

static class MyHttpHandler implements HttpHandler{

public void handle(HttpExchange httpExchange) throws IOException {

String response = "Hello world!";

httpExchange.sendResponseHeaders(200, response.length());

OutputStream out = httpExchange.getResponseBody();

out.write(response.getBytes());

out.close();

}

}

然后,在浏览器中访问 http://localhost:7778/myapp/,我们得到:

图一浏览器显示

首先,HttpServer 是从 HttpProvider 处得到的,这里我们使用了 JDK 6 提供的实现。用户也可以自行实现一个 HttpProvider 和相应的 HttpServer 实现。

其次,HttpServer 是有上下文(context)的概念的。比如,http://localhost:7778/myapp/ 中“/myapp/”就是相对于 HttpServer Root 的上下文。对于每个上下文,都有一个 HttpHandler 来接收 http 请求并给出回答。

最后,在 HttpHandler 给出具体回答之前,一般先要返回一个 Http head。这里使用 HttpExchange.sendResponseHeaders(int code, int length)。其中code 是 Http 响应的返回值,比如那个著名的 404。length 指的是 response 的长度,以字节为单位。

Cookie 管理特性

Cookie 是 Web 应用当中非常常用的一种技术,用于储存某些特定的用户信息。虽然,我们不能把一些特别敏感的信息存放在 Cookie 里面,但是,Cookie 依然可以帮助我们储存一些琐碎的信息,帮助 Web 用户在访问网页时获得更好的体验,例如个人的搜索参数,颜色偏好以及上次的访问时间等等。网络程序开发者可以利用 Cookie 来创建有状态的网络会话(Stateful Session)。 Cookie 的应用越来越普遍。在 Windows 里面,我们可以在“Documents And Settings”文件夹里面找到IE使用的 Cookie,假设用户名为 admin,那么在 admin 文件夹的 Cookies文件夹里面,我们可以看到名为“admin@(domain)”的一些文件,其中的 domain 就是表示创建这些 Cookie 文件的网络域,文件里面就储存着用户的一些信息。

JavaScript 等脚本语言对 Cookie 有着很不错的支持。 .NET 里面也有相关的类来支持开发者对 Cookie 的管理。不过,在 Java SE 6 之前, Java一直都没有提供 Cookie 管理的功能。在 Java SE 5里面, https://www.360docs.net/doc/3315935251.html, 包里面有一个 CookieHandler 抽象类,不过并没有提供其他具体的实现。到了 Java SE 6,Cookie 相关的管理类在 Java 类库里面才得到了实现。有了这些 Cookie 相关支持的类,Java 开发者可以在服务器端编程中很好的操作 Cookie,更好的支持 HTTP 相关应用,创建有状态的 HTTP 会话。

·用 HttpCookie 代表 Cookie

https://www.360docs.net/doc/3315935251.html,.HttpCookie 类是 Java SE 6 新增的一个表示 HTTP Cookie 的新类,其对象可以表示 Cookie 的内容,可以支持所有三种 Cookie 规范:

Netscape草案

RFC 2109 - https://www.360docs.net/doc/3315935251.html,/rfc/rfc2109.txt

RFC 2965 - https://www.360docs.net/doc/3315935251.html,/rfc/rfc2965.txt

这个类储存了 Cookie 的名称,路径,值,协议版本号,是否过期,网络域,最大生命期等等信息。

·用 CookiePolicy 规定 Cookie 接受策略

https://www.360docs.net/doc/3315935251.html,.CookiePolicy 接口可以规定 Cookie 的接受策略。其中唯一的

方法用来判断某一特定的 Cookie 是否能被某一特定的地址所接受。这个类内置了 3 个实现的子类。一个类接受所有的 Cookie,另一个则拒绝所有,还有一个类则接受所有来自原地址的 Cookie。

·用CookieStore 储存 Cookie

https://www.360docs.net/doc/3315935251.html,.CookieStore 接口负责储存和取出 Cookie。当有 HTTP 请求的时候,它便储存那些被接受的 Cookie;当有 HTTP 回应的时候,它便取出相应的 Cookie。另外,当一个 Cookie 过期的时候,它还负责自动删去这个 Cookie。

·用 CookieManger/CookieHandler 管理 Cookie

https://www.360docs.net/doc/3315935251.html,.CookieManager 是整个 Cookie 管理机制的核心,它是CookieHandler 的默认实现子类。下图显示了整个 HTTP Cookie 管理机制的结构:

图 2. Cookie 管理类的关系

一个 CookieManager 里面有一个 CookieStore 和一个 CookiePolicy,分别负责储存 Cookie 和规定策略。用户可以指定两者,也可以使用系统默认的CookieManger。

例子

下面这个简单的例子说明了 Cookie 相关的管理功能:

manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);

// 保存这个定制的 CookieManager

CookieHandler.setDefault(manager);

// 接受 HTTP 请求的时候,得到和保存新的 Cookie

HttpCookie cookie = new

HttpCookie("...(name)...","...(value)...");

manager.getCookieStore().add(uri, cookie);

// 使用 Cookie 的时候:

// 取出 CookieStore

CookieStore store = manager.getCookieStore();

// 得到所有的 URI

List uris = store.getURIs();

for (URI uri : uris) {

// 筛选需要的 URI

// 得到属于这个 URI 的所有 Cookie

List cookies = store.get(uri);

for (HttpCookie cookie : cookies) {

// 取出了 Cookie

}

}

// 或者,取出这个 CookieStore 里面的全部 Cookie

// 过期的 Cookie 将会被自动删除

List cookies = store.getCookies();

for (HttpCookie cookie : cookies) {

// 取出了 Cookie

}

其他新特性

·NetworkInterface 的增强

从Java SE 1.4 开始,JDK 当中出现了一个网络工具类https://www.360docs.net/doc/3315935251.html,workInterface,提供了一些网络的实用功能。在Java SE 6 当中,这个工具类得到了很大的加强,新增了很多实用的方法。例如:

public boolean isUp()

用来判断网络接口是否启动并运行

public boolean isLoopback()

用来判断网络接口是否是环回接口(loopback)

public boolean isPointToPoint()

用来判断网络接口是否是点对点(P2P)网络

public boolean supportsMulticast()

用来判断网络接口是否支持多播

public byte[] getHardwareAddress()

用来得到硬件地址(MAC)

public int getMTU()

用来得到最大传输单位(MTU,Maximum Transmission Unit)

public boolean isVirtual()

用来判断网络接口是否是虚拟接口

关于此工具类的具体信息,请参考Java SE 6 相应文档(见参考资源)。

·域名的国际化

在最近的一些RFC 文档当中,规定DNS 服务器可以解析除开ASCII 以外的编码字符。有一个算法可以在这种情况下做Unicode 与ASCII 码之间的转换,实现域名的国际化。https://www.360docs.net/doc/3315935251.html,.IDN 就是实现这个国际化域名转换的新类,IDN 是“国际化域名”的缩写(internationalized domain names)。这个类很简单,主要包括4 个静态函数,做字符的转换。

结束语

Java SE 6 有着很多HTTP 相关的新特性,使得Java SE 平台本身对网络编程,尤其是基于HTTP 协议的因特网编程,有了更加强大的支持。

程序设计报告模板

北京化工大学计算机科学与技术专业2014程序设计实训报告 题目:个人记账软件 专业:计算机科学与技术 班级:计科1305 指导教师:江志英

2014程序设计实训任务书

目录 2014程序设计实训任务书...................................... 错误!未定义书签。目录..................................................... 错误!未定义书签。第一章需求分析.............................................. 错误!未定义书签。 引言............................................... 错误!未定义书签。 任务概述........................................... 错误!未定义书签。 数据描述........................................... 错误!未定义书签。 功能需求........................................... 错误!未定义书签。 运行需求........................................... 错误!未定义书签。 任务计划........................................... 错误!未定义书签。第二章概要设计.............................................. 错误!未定义书签。 总体设计........................................... 错误!未定义书签。 面向对象设计....................................... 错误!未定义书签。 运行界面设计....................................... 错误!未定义书签。第三章详细设计.............................................. 错误!未定义书签。 ........................................................ 错误!未定义书签。第四章测试分析............................................. 错误!未定义书签。第五章用户手册(可选)..................................... 错误!未定义书签。第六章课程设计总结.......................................... 错误!未定义书签。附录:程序代码(仅电子版需要、纸质版不需要)................. 错误!未定义书签。

计算机程序设计实践

江苏科技大学 课程实践报告 设计题目: 计算机程序设计实践(VC++) 设计时间: 2015. 3.9 至2015. 3.16 学院: 数理学院 专业班级: 13级信息与计算科学1班 学生姓名: 陈明敏学号1340501101 指导老师: 华伟 2015年5月1日

一、 实践任务 任务一:试建立一个类SP ,求(,)123k k k k f n k n =++++ ,另有辅助函数power ()用 于求 n m 。具体要求如下。 (1)私有数据成员。 Int n ,k :存放公式中n 和k 的值。 (2)公有成员函数。 ①SP(int n1,int k1):构造函数,初始化成员数据n 和k 。 ②int power(int m,int n):求n m 。 ③int fun():求公式的累加和。 ④void show():输出求得的结果。 二、源程序清单 #include class SP{ private: int n,k; public: SP(int n1,int k1); int power(int m,int n); int fun(); void show (); }; SP::SP(int n1,int k1){ n=n1; k=k1; } int SP::power(int m,int n){ int a=m; for(int i=1;i

公务员考试十大数字推理规律详解

公务员考试十大数字推理规律详解 (2009-6-11 上午 07:55:46) 备考规律一:等差数列及其变式 【例题】7,11,15,( ) A 19 B 20 C 22 D 25 【答案】A选项 【广州新东方戴斌解析】这是一个典型的等差数列,即后面的数字与前面数字之间的差等于一个常数。题中第二个数字为11,第一个数字为7,两者的差为4,由观察得知第三个与第二个数字之间也满足此规律,那么在此基础上对未知的一项进行推理,即15+4=19,第四项应该是19,即答案为A。 (一)等差数列的变形一: 【例题】7,11,16,22,( ) A.28 B.29 C.32 D.33 【答案】B选项 【广州新东方戴斌解析】这是一个典型的等差数列的变形,即后面的数字与前面数字之间的差是存在一定的规律的,这个规律是一种等差的规律。题中第二个数字为11,第一个数字为7,两者的差为4,由观察得知第三个与第二个数字之间的差值是5;第四个与第三个数字之间的差值是6。假设第五个与第四个数字之间的差值是X,我们发现数值之间的差值分别为4,5,6,X。很明显数值之间的差值形成了一个新的等差数列,由此可以推出X=7,则第五个数为22+7=29。即答案为B选项。 (二)等差数列的变形二: 【例题】7,11,13,14,( ) A.15 B.14.5 C.16 D.17 【答案】B选项 【广州新东方戴斌解析】这也是一个典型的等差数列的变形,即后面的数字与前面数字之间的差是存在一定的规律的,但这个规律是一种等比的规律。题中第二个数字为11,第一个数字为7,两者的差为4,由观察得知第三个与第二个数字之间的差值是2;第四个与第三个数字之间的差值是1。假设第五个与第四个数字之间的差值是X。 我们发现数值之间的差值分别为4,2,1,X。很明显数值之间的差值形成了一个新的等差数列,由此可以推出X=0.5,则第五个数为14+0.5=14.5。即答案为B选项。 (三)等差数列的变形三: 【例题】7,11,6,12,( ) A.5 B.4 C.16 D.15 【答案】A选项 【广州新东方戴斌解析】这也是一个典型的等差数列的变形,即后面的数字与前面数字之间的差是存在一定的规律的,但这个规律是一种正负号进行交叉变换的规律。题中第二个数字为11,第一个数字为7,两者的差为4,由观察得知第三个与第二个数字之间的差值是-5;第四个与第三个数字之间的差值是6。假设第五个与第四个数字之间的差值是X。 我们发现数值之间的差值分别为4,-5,6,X。很明显数值之间的差值形成了

课程设计任务书

《钢结构》(钢屋架)课程设计任务书 一、设计资料 如图1所示某厂房,长度60m,柱距6m,跨度为L=18m,采用梯形钢屋架,1.5×6.0m预应力混凝土大型屋面板,屋架铰支于钢筋混凝土柱上,上柱截面400×400,混凝土强度等级为C20,屋面坡度为10 i。地区计算温度高于-200C,无侵蚀性介质,地震设防烈度为 :1 7度,屋架下弦标高为18m;厂房内桥式吊车为2台150/30t(中级工作制),锻锤为2台5t。钢材选用Q235钢,E43型焊条。 图1 柱网布置图 如图2所示。 三、荷载标准值(水平投影面计) ①永久荷载: 三毡四油(上铺绿豆砂)防水层 0.4 kN/m2 水泥砂浆找平层 0.4 kN/m2

保温层 kN/m2(按附表取) 一毡二油隔气层 0.05 kN/m2 水泥砂浆找平层 0.3 kN/m2 预应力混凝土大型屋面板 1.4 kN/m2 屋架及支撑自重:L = .0+ q011 12 .0 悬挂管道: 0.15 kN/m2 ②可变荷载: 屋面活荷载标准值: 0.7kN/m2 雪荷载标准值: 0.35 kN/m2 积灰荷载标准值: kN/m2 (按附表取) 四、课程设计要求 1.掌握钢屋架荷载的计算; 2.掌握杆件内力的计算和组合,杆件的计算长度、截面形式,截面选择及构造要求,填板的设置及节点板的厚度; 3.掌握普通钢屋架节点设计的原则和要求,主要节点的设计及计算和构造;掌握钢屋架施工图的内容和绘制。 五、课程设计(论文)进程安排

附件: 1. 附表 屋面保温层及积灰荷载的取值 (kN/m 2) 2. 附图 单位荷载作用下杆件内力系数图 02 .279 附图1 全跨单位荷载作用下各杆件的内力值 A a c e g e'c' a ' +2.5370.000-4.3 71 -5.636 -4.551 -3.357 -1.8500.0 -4.754 -1.86 2 +0.615 +1.17 +1.344 +1.581 +3 .158 +0 .540 -1 .632 -1 .305 -1 .520 -1 .748 -1.0-1.0+0.406 0.000.00-0.5+5.325 +5.312 +3.967+2.637+0.933 B C D E F G F ' E 'D 'C 'B 'A '0.51.0 1.0 1.0 1.0 1.01.0附图2 半跨单位荷载作用下各杆件的内力值

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

总结数字推理十大规律1

总结数字推理十大规律(四) 2010-01-14 安徽公务员考试网【字体: 】 备考规律七:求差相减式数列 规律点拨:在国考中经常看到有“第一项减去第二项等于第三项”这种规律的数列,以下李老师和大家一起来探讨该类型的数列 【例题】8,5,3,2,1,() A.0 B.1 C.-1 D.-2 备考规律八:“平方数”数列及其变式 【例题】1,4,9,16,25,() A.36 B.28 C.32 D.40 (一)“平方数”数列的变形一: 【例题】0,3,8,15,24,() A.35 B.28 C.32 D.40 【例题变形】2,5,10,17,26,() A.37 B.38 C.32 D.40 (二)“平方数”数列的变形二: 【例题】2,6,12,20,30,() A.42 B.38 C.32 D.40 更多详情请查询:安徽公务员考试网(https://www.360docs.net/doc/3315935251.html,/) 【答案】B选项 解析】这题与“求和相加式的数列”有点不同的是,这题属于相减形式,即“第一项减去第二项等于第三项”。我们看第一项8与第二项5的差等于第三项3;第二项5与第三项3的差等

于第三项2;第三项3与第四项2的差等于第五项1; 同理,我们推敲,第六项应该是第四项2与第五项1的差,即等于0;所以A选项正确。【答案】A选项 【解析】这是一个典型的“平方数”的数列,即第一项是1的平方,第二项是2的平方,第三项是3的平方,第四项是4的平方,第五项是5的平方。同理我们推出第六项应是6的平方。所以A选项正确。 【答案】A选项 【解析】这是一个典型的“立方数”的数列,其规律是每一个平方数减去一个常数,即第一项是1的平方减去1,第二项是2的平方减去1,第三项是3的平方减去1,第四项是4的平方减去1,第五项是5的平方减去1.同理我们推出第六项应是6的平方减去1.所以A选项正确。 题目规律的延伸:既然可以是“每一个立方数减去一个常数”,李老师认为就一定可以演变成“每一个立方数加上一个常数”。就上面那道题目而言,同样可以做一个变形: 【答案】A选项 【解析】这是一个典型的“平方数”的数列,其规律是每一个平方数减去一个常数,即第一项是1的平方加上1,第二项是2的平方加上1,第三项是3的平方加上1,第四项是4的平方加上1,第五项是5的平方加上1.同理我们推出第六项应是6的平方加上1.所以A选项正确。 【答案】A选项 【解析】这就是一个典型的“平方数”的数列变形,其规律是每一个立方数加去一个数值,而这个数值本身就是有一定规律的。即第一项是1的平方加上1,第二项是2的平方加上2,第三项是3的平方加上3,第四项是4的平方加上4,第五项是5的平方加上5.同理我们假设推出第六项应是6的平方加上X.而把各种数值摆出来分别是:1,2,3,4,5,X.由此我们可以得出X=6,即第六项是6的平方加上6,所以A选项正确。

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

程序设计实践报告模板

面向对象程序设计实践(Project 2) 报告 题目: 专业软件工程(NIIT) 学生姓名 班级学号 指导教师杨健 指导单位计算机学院/软件学院 日期

评分细则 评分项优秀良好中等差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简短 评语教师签名: 年月日 评 分 等 级 备 注 评分等级有五种:优秀、良好、中等、及格、不及格

Title(Here,please write the name of your Project) (题目格式:宋体,3号,加粗,居中对齐) 一、D escription and Requirement(格式:Times New Roman,4号,加粗, 两端对齐) (正文格式:宋体(中文) Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 二、Requirement Analysis(格式:Times New Roman,4号,加粗,两端对齐) 在该部分中叙述系统的功能,由此得到相应的模块,并分析需要什么的数据,由此可以指导数据库的设计。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐,1.5倍行距) 三、High level design(格式:Times New Roman,4号,加粗,两端对齐) 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),数据库设计的说明(给出数据库的结构,包括有哪些表,每个表有什么字段,分别存储什么样的数据) (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 四、Low level design格式:Times New Roman,4号,加粗,两端对齐) 各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 注意:不要粘贴全部程序,只要把关键算法的程序粘贴过来就可以了。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 五、Tested data and result analysis(格式:Times New Roman,4号,加粗,

计算机程序设计(C)综合实践

计算机程序设计(C)综合 实践 设计报告 学院:电子通信与物理学院 设计名称:职工信息管理系统 专业班级:电子信息科学与技术14-2 学生:本良 学号: 201401100211 组号: 140203 指导教师:宋戈 完成时间: 2015年 7月23日

目录 第1部分实训题目与要求 (2) 1. 问题提出 (2) 2. 功能要求 (2) 3. 任务分工 (2) 第2部分设计实训题目功能......................................................................... . (3) 1. 总体设 计...................................................................... (3) 2. 数据结 构...................................................................... (4) 3. 程序设 计...................................................................... (5) 4. 测试与调 试......................................................................

(8) 第3部分实训总结......................................................................... . (12) 1. 个人总 结...................................................................... (12) 2. 结束 语...................................................................... (12) 第4部分参考文献......................................................................... . (13) 《C程序设计综合实践》评分表......................................................................... (14)

数字推理规律总结

<2>表格形式数字推理 行间运算规律:行间运算规律主要是每行两个数字简单运算得到第三个数.主要有下面三种形式: 每行前两个数运算得到第三个数. 每行后两个数运算得到第一个数. 每行第一个数和第三个数运算得到中间数字. <3> 三角形形式数字推理 三角形数字推理的规律通常是寻找三角形的数字与中心数字之间的联系 一、圆圈形数字推理 1、考虑对角数字和周围数字 【例】 A.27 B. 21 C. 16 D. 11 【答案】C 【解题关键点】考虑对角数字和周围数字 5×8+(13+7)=2,3×12+(3+15)=2,15×4+(19+11)=2 2、考虑四周数字得到中间数字的方式 解题思想 1.思考角度:一般由四周向中间位置的数靠拢。 2.运算关系:一般各数之间为“加减乘除”关系,其中加法、减法、乘法是最常见的运算方法。 3.组合关系:一般采用上下、左右、对角三种组合关系。 4.如果中间位置的数是质数,那么一般是通过加法或减法向中间位置靠拢;如果中间位置的数是合数(特别的一些质数也可分解为其与1的乘积),则可以首先将中间位置拆分成 两个(或三个)因数的乘积,再将已知数向因数靠拢,也可以通过加减法向中间位置数靠拢。 5.如果中间位置数值较大,而其他数值较小,则考虑运算中含有乘法关系。 6.作减法和除法时,注意减数和被减数、除数和被除数的位置关系。 要点提示 奇偶数之间有如下的运算法则: 偶数±偶数=偶数,奇数±奇数=偶数,奇数±偶数=奇数 偶数×偶数=偶数,奇数×奇数=奇数,奇数×偶数=偶数 根据以上法则可以得到以下规律: (1)几个偶数之间做四则运算无法得到一个奇数。 (2)偶数个奇数之间的无法通过加法得到一个奇数,偶数个奇数之间无法

轨道工程课程设计任务书、指导书及设计要求

轨道工程课程设计任务书 一、出发资料 1.机车车辆条件:韶山Ⅲ(SS3)型电力机车;机车轴列式30-30,轴距布置为230+200+780+200+230 (cm),轮重。 2.线路条件: (1)线路设计速度80km/h,最小曲线半径500m(实设超高为100mm),规划采用有砟轨道结构。 (2)线路铺设成无缝线路,铺设地区为福州,铺设线路长度为10km。 (3)道床顶面的容许应力为,路基顶面的容许应力为。 二、设计任务 (1)进行有砟轨道结构设计,包括钢轨和扣件的选型,轨枕的类型及布置根数,道床的等级及尺寸,并检算强度是否满足使用要求。 (2)进行无缝线路设计,包括设计锁定轨温确定、缓冲区设计、预留轨缝确定、轨条布置。 三、提交的成果 (一)、设计计算说明书 (1)轨道结构选型。 (2)轨道结构强度检算。 (3)无缝线路设计计算。 (二)、设计图图纸 (1)轨道结构组装图及选型说明。(1张A3)

(2)轨道结构受力图(3张A4:钢轨弯矩和挠度1张,轨枕三个支承状态的弯矩分布,道床顶面、路基顶面、路基第二区域、路基第三区域应力)。 (3)无缝线路设计图(1张A4或A3,基本温度力图、轨条布置图及相关说明)。 设计指导书

一、课程设计的基本步骤: 课程设计的步骤如图1所示: 图1 课程设计步骤 二、设计方法 (一)、轨道结构选型设计 根据机车车辆和线路条件,确定钢轨、轨枕、扣件的类型及刚度、道床的等级及主要尺寸(厚度、顶宽和边坡坡度)。钢轨、轨枕及扣件的可选用类型从教材中选择,道床的等级及主要尺寸也参考教材的内容确定。 以下两点说明: 1、道床厚度的选择 道床厚度设计根据《铁路轨道设计规范》(TB10082-2005)和《地铁设计规范》(GB50157-2003)进行,为方便可根据运营条件从教材表1-1中选择。我们的轨道类型可参考中型轨道结构。 2、钢轨支座刚度D 钢轨支座刚度D的意义是使钢轨支点顶面产生单位下沉时所必须施加于支点顶面上的力,单位一般采用kN/mm表示。 D值的计算:1/D=1/D1+1/D2 教材(7-3) 式中D1为扣件刚度,其值由设计确定;D2为道床支承刚度,计算

实验报告模板-《C程序设计实践 》

大型程序设计实验报告 课程名称C程序设计实践实验日期2011年月日至2011年月日 学生姓名所在班级学号 实验名称 实验地点同组人员 1. 问题描述 实现图书管理系统 如何让实现如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3. 对撤销图书信息的删除 4 办理借书手续 5 办理还书手续 2. 问题分析 根据题目要求,需要建立图书管理系统结构体,分别需要建立读者结构体,图书结构体。 该程序主要涉及到C语言中的文件和链表 图书信息应该存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找,修改等功能,并进行借入借出服务;另外还提供接盘是选择菜单来实现功能选择 3. 系统设计 系统应该包括以下模块:信息输入,图书查找,信息删除,图书借出,图书归还 3.1 总体设计 1系统功能的文字概述: 图书管理系统主要功能是用户的设定,读者管理,数据的录入与查询,数据的修改和删除等 2 系统的总体结构图

3主要模块的控制流程图 主函数 ( 1. 系统功能的文字概述;2.系统的总体结构图;3. 主要模块的控制流程图)3.2 界面设计 3.3 系统主要流程设计 (文字描述加流程图) 3.4 主要数据结构设计 /*--------- 数据结构的定义------------*/ struct reader {

/*姓名,学生学号/教师工号,性别,所在学院,角色*/ char name[9]; char num[11]; char sex[3]; char college[21]; char role[2]; struct reader *next; } *readersHead=NULL, *readersTail=NULL, *reader_p; struct book{ /*书名,作者,出版社,价格,ISBN号和类别*/ char book_name[41]; char author_name[21]; char publish[15]; float price; char ISBN[18]; char b_type[9]; struct book *next; } *booksHead=NULL, *booksTail=NULL, *book_p; struct borrow_info{ /*借者编号,借书日期,图书ISBN号*/ char borrower_num[11]; char borrow_date[15]; char ISBN[18]; struct borrow_info *next; } *biHead=NULL, *biTail=NULL, *bi_p; /*--------- 数据结构的定义完毕------------*/ 3.4.1 系统数据结构概述 主要有读者数据结构,用以读者信息的记录 图书数据结构用以图书信息的记录 还有已借图书数据结构用以对已借图书的统计和记录(主要用了哪些数据结构,各自的用途)

数字推理题的各种规律

数字推理题的各种规律 一.题型: ●等差数列及其变式 【例题1】2,5,8,() A 10 B 11 C 12 D 13 【解答】从上题的前3 个数字可以看出这是一个典型的等差数列,即后面的数字与前面数字之间的差等于一个常数.题中第二个数字为5,第一个数字为2,两者的差为3,由观察得知第三个、第二个数字也满足此规律,那么在此基础上对未知的一项进行推理,即8+3=11,第四项应该是11,即答案为B. 【例题2】3,4,6,9,(),18 A 11 B 12 C 13 D 14 【解答】答案为C.这道题表面看起来没有什么规律,但稍加改变处理,就成为一道非常容易的题目.顺次将数列的后项与前项相减,得到的差构成等差数列1,2,3,4,5,…….显然,括号的数字应填13.在这种题中,虽然相邻两项之差不是一个常数,但这些数字之间有着很明显的规律性,可以把它们称为等差数列的变式. ●等比数列及其变式 【例题3】3,9,27,81() A 243 B 342 C 433 D 135 【解答】答案为A.这也是一种最基本的排列方式,等比数列.其特点为相邻两个数字之间的商是一个常数.该题中后项与前项相除得数均为3,故括号的数字应填243. 【例题4】8,8,12,24,60,() A 90 B 120 C 180 D 240 【解答】答案为C.该题难度较大,可以视为等比数列的一个变形.题目中相邻两个数字之间后一项除以前一项得到的商并不是一个常数,但它们是按照一定规律排列的;1,1.5,2,2.5,3,因此括号的数字应为60×3=180.这种规律对于没有类似实践经验的应试者往往很难想到.我们在这里作为例题专门加以强调.该题是1997 年中央国家机关录用大学毕业生考试的原题. 【例题5】8,14,26,50,() A 76 B 98 C 100 D 104 【解答】答案为B.这也是一道等比数列的变式,前后两项不是直接的比例关系,而是中间绕了一个弯,前一项的2 倍减2 之后得到后一项.故括号的数字应为50×2-2=98. ●等差与等比混合式 【例题6】5,4,10,8,15,16,(),() A 20,18 B 18,32 C 20,32 D 18,32 【解答】此题是一道典型的等差、等比数列的混合题.其中奇数项是以5 为首项、等差为5 的等差数

课程设计任务书(2级)

电子技术课程设计任务书 题目一:信号发生器 一、设计目的 根据常用的电子技术知识,以及可获得的技术书籍与电子文档,初步形成电子设计过程中收集、阅读及应用技术资料的能力;熟悉电子系统设计的一般流程;掌握分析电路原理、工程计算及对主要技术性能进行测试的常见方法;最终,完成从设计图纸到实物搭建的整个过程,并调试作品。 二、任务与要求 1、熟悉信号发生器的组成和基本原理,了解单片集成信号发生器的功能特点; 2、掌握信号波形参数的调节和测试方法的应用; 3、电路能够产生正弦波、方波、锯齿波; 4、掌握信号发生器的设计测试方法; 5、工作电源为+5~+15V 连续可调。 参考方案: 图1、ICL8038原理框图 参考原理: ICL8030内部由恒流源I 1、I 2、电压比较器A 和B 、触发器、缓冲器和三角波变正弦波变换电路组成。外接电容C 经过两个恒流源进行充放电,电压比较器A 、B 的参考电压分别为电源电压(U CC +U CE )的2/3和1/3。恒流源的恒流源I 1、I 2的大小可通过外接电阻调节,但必须I 2>I 1。当触发器的输出为低电平时,恒流源I 2断开,I1给电容充电,其两端电压U C 随时间上升,当U C 上升到电源电压的2/3时,电压比较器A 的输出电压发生跳变,使触发器输出由低电平变为高电平,恒流源I 2接通,由于I 2>I 1(设I 2=2I 1),恒流源I 2加到C 上反充电,相当于C 由一个净电流I 1放电,C 两端电压U C 转为直线下降,当下降到电源电压1/3时,电压比较器B 的输出电压发生跳变,使触发器的输出由高电平变为原来的低电平,恒流源I 2断开,I 1对C 充电,如此重复,产生振荡信号。 若通过调节外接电阻使得I 2=2I 1,触发器的输出为方波,反向缓冲后由9脚输出;C 上

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

行政能力测试数字推理的规律及其解题过程(备考)

行政能力测试数字推理的规律及其解题过程在实际解题过程中,根据相邻数之间的关系分为两大类: 一、相邻数之间通过加、减、乘、除、平方、开方等方式发生联系,产生规律,主要有以下几种规律: 1、相邻两个数加、减、乘、除等于第三数 2、相邻两个数加、减、乘、除后再加或者减一个常数等于第三数 3、等差数列:数列中各个数字成等差数列 4、二级等差:数列中相邻两个数相减后的差值成等差数列 5、等比数列:数列中相邻两个数的比值相等 6、二级等比:数列中相邻两个数相减后的差值成等比数列 7、前一个数的平方等于第二个数 8、前一个数的平方再加或者减一个常数等于第二个数; 9、前一个数乘一个倍数加减一个常数等于第二个数; 10、隔项数列:数列相隔两项呈现一定规律, 11、全奇、全偶数列 12、排序数列 二、数列中每一个数字本身构成特点形成各个数字之间的规律。 1、数列中每一个数字都是n 的平方构成或者是n 的平方加减一个常数构成,或者是n的平方加减n构成 2、每一个数字都是n的立方构成或者是n的立方加减一个常数构成,或者是n的立方加减n 3、数列中每一个数字都是n的倍数加减一个常数 以上是数字推理的一些基本规律,必须掌握。但掌握这些规律后,怎样运用这些规律以最快的方式来解决问题呢?

这就需要在对各种题型认真练习的基础上,应逐步形成自己的一套解题思路和技巧。 第一步,观察数列特点,看是否存是隔项数列,如果是,那么相隔各项按照数列的各种规律来解答 第二步,如果不是隔项数列,那么从数字的相邻关系入手,看数列中相邻数字在加减乘除后符合上述的哪种规律,然后得出答案。 第三步,如果上述办法行不通,那么寻找数列中每一个数字在构成上的特点,寻找规律。 当然,也可以先寻找数字构成的规律,在从数字相邻关系上规律。这里所介绍的是数字推理的一般规律,在对各种基本题型和规律掌握后,很多题是可以直接通过观察和心算得出答案。 数字推理题的一些经验 1)等差,等比这种最简单的不用多说,深一点就是在等差,等比上再加、减一个数列,如24,70,208,622,规律为a*3-2=b 2)深一点模式,各数之间的差有规律,如 1、2、5、10、17。它们之间的差为1、3、5、7,成等差数列。这些规律还有差之间成等比之类。B,各数之间的和有规律,如1、2、3、5、8、13,前两个数相加等于后一个数。 3)看各数的大小组合规律,做出合理的分组。如 7,9,40,74,1526,5436,7和9,40和74,1526和5436这三组各自是大致处于同一大小级,那规律就要从组方面考虑,即不把它们看作6个数,而应该看作3个组。而组和组之间的差距不是很大,用乘法就能从一个组过渡到另一个组。所以7*7-9=40 , 9*9-7=74 , 40*40-74=1526 , 74*74-40=5436,这就是规律。 4)如根据大小不能分组的,A,看首尾关系,如7,10,9,12,11,14,这组数 7+14=10+11=9+12。首尾关系 经常被忽略,但又是很简单的规律。B,数的大小排列看似无序的,可以看它们之间的差与和有没有顺序关系。 5)各数间相差较大,但又不相差大得离谱,就要考虑乘方,这就要看各位对数字敏感程度了。如6、24、60、 120、210,感觉它们之间的差越来越大,但这组数又看着比较舒服(个人感觉,嘿嘿),它们的

8专业计算机网络课程设计任务与要求

2014春计算机网络课程设计任务与要求 一、课程目标 For personal use only in study and research; not for commercial use 深入理解计算机网络基本原理,将书本上抽象的概念与具体的实现技术相结合,体会网络协议的设计与实现过程,以及专业技术人员所使用的基本方法和技巧;熟悉相关应用开发工具,掌握网络协议应用开发技术;进一步熟悉网络设备,学习组网技术,掌握网络规划与设计的基本方法;培养一定的自学能力和独立分析问题、解决问题的能力;对设计中遇到的问题,能通过独立思考、查阅资料、参考文献,寻求解决方案。 二、设计题目说明 设计题目设置上,采取了分类、分级的形式。 分5个类别,分别是:网络协议或算法、网络服务、组网设计、网络应用编程、理论与应用研究。 分3个级别,从高至低分别是A、B、C。题目的级别综合依据创新性、综合性、实用性、难度等因素,不同级别,成绩起评分数有别。 A级题目(良-优):较难;综合性强、有明显或突出的创新、探究性较强、实际课题或项目的一部分(实用性);工作量非常饱满;富有建设性;有很强的分析问题与解决问题的能力。 B级题目(中-良):难度适中;工作内容侧重于设计或研究或较高水平应用;有一定综合性、有一定创新、有一定实用性;工作量饱满;有较强的分析问题与解决问题的能力。 C级题目(及格-中):难度不大或偏小;工作内容侧重于验证或学习或简单应用;基本上无创新; 工作量不大;有一定的分析问题与解决问题的能力。 三、任务完成形式 (1)交付课程设计说明书(纸质+电子版) (2)通过现场验收或答辩 (3)交付完整的设计作品(或能体现自己工作的视频课件)、 工作量、掌握程度: 有效代码行数:600行以上 对于第一、四类题目,必须交付设计作品,设计作品指的是完整的源程序代码、相关数据文件; 对于第三类题目,必须交付设计作品,设计作品指的是网络拓扑文件、网络仿真配置文件; 对于第二、五类题目,必须交付能体现自己工作的视频课件,要求有一定的文字或声音解说。 课程设计说明书(纸质+电子版),对于对于第一、四类题目,内容包括:设计任务、系统分析、总体设计、详细设计(相应地给出关键的代码)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 四、工作计划与进度安排 根据所选题目,合理安排进度计划,总体上需要50个小时以上(不包含查资料时间)。

测量程序设计实习报告

测量程序设计实习报告 姓名: 班级: 学号: 教师评语: 日期:二零一四年十二月

实验名称:使用C#开发环境建立测量程序框架 一、实验的目的与任务: (1)学会用C#窗体程序开发环境建立应用程序框架方法 (2)学会使用常见的Windows控件 (3)根据自身需要设计一个测量程序界面 二、实验的过程与步骤: 1.创建窗体项目 打开“新建项目”对话框,选左边“已安装模板”栏的“其他语言\Visual C#”项,再选右边“模板”栏的“Windows应用程序”模板。选择磁盘卷和父目录位置后,输入项目名称“测量程序”按“确定”按钮关闭对话框。 2.修改窗体属性 窗体的属性有很多,其中常用的有: 布局:大小Size——缺省为300*300像素,可以通过修改此属性,或直接拖动窗体的边框来改变窗体的尺寸。运行时用户也可以自己改变窗体大小。 设计:是程序设计中窗口的引用名称,名称(Name)缺省为Form1,可以改成自己喜欢的名称,如CLCX,回车确认后,系统会自动修改所有相关内容中的该标识符。 外观:文本Text——对应于窗体的标题,缺省也为Form1,可以改为自己喜欢的标题,如“导线简易平差”。 单击窗口界面,再点击菜单工具栏中“属性”工具,调出属性窗口,此时属性窗口显示的内容便是窗口的属性,找到“Name”栏,将其值改为“CLCX”;再找到“Text”栏,将其值改为“导线简易平差”。 将鼠标箭头放置于窗口边缘,拖动窗口以调整窗口大小,将窗口大小调整为合适大小。 3.添加按钮和控件 可以在窗口中添加标准控件,以实现可视化的目的,C#中常用的标准控件有:(1)按钮(Button) 是用户以交互方式控制程序运行的控件之一。 主要属性: 1)Text属性 设置显示在按钮表面上的文字,用于说明该按钮的作用。 2)Enabled属性 设置按钮是否可用; (2)Label控件 Label控件主要用于通过其Text属性显示文本信息。 主要属性: 1)Text属性 标签中显示的文本内容 2)Font

相关文档
最新文档