Java打印程序设计

合集下载

全国计算机等级考试二级 java 语言 程序设计

全国计算机等级考试二级 java 语言 程序设计

全国计算机等级考试二级 java 语言程序设计Java语言程序设计是全国计算机等级考试二级中的重要科目之一,涉及到了Java语言的基础知识、面向对象编程、常用数据结构和算法等内容。

通过学习和掌握Java语言程序设计,可以提高编程能力,为日后的软件开发工作打下坚实的基础。

首先,Java语言程序设计涉及到的基础知识包括数据类型、运算符、流程控制语句等。

学习者需要了解Java语言中的基本数据类型,如整型、浮点型、字符型、布尔型等,以及如何声明变量、进行运算和输出结果。

此外,掌握流程控制语句如if语句、switch语句、循环语句等,能够帮助程序实现不同的逻辑控制,使程序更加灵活和高效。

其次,面向对象编程是Java语言的重要特点之一,也是考试中的重点内容。

学习者需要了解类和对象的概念,掌握面向对象的三大特性:封装、继承、多态。

通过实例化对象、调用对象的方法、编写类的构造方法等操作,能够更好地理解面向对象编程的思想,设计出结构清晰、功能完善的程序。

另外,Java语言程序设计还涉及到常用的数据结构和算法。

学习者需要掌握数组、链表、栈、队列等数据结构的定义和操作,了解它们的特点和适用场景。

在算法方面,需要熟悉常见的排序算法、查找算法、递归算法等,能够灵活运用这些算法解决实际问题,提高程序的效率和性能。

总的来说,全国计算机等级考试二级的Java语言程序设计是一门涵盖广泛、内容丰富的考试科目,需要学习者在掌握语法基础的同时,注重实际应用和综合能力的培养。

通过系统的学习和练习,不断提升编程能力和解决问题的能力,相信能够顺利通过考试,取得优异的成绩。

希望考生能够认真对待这门科目,努力学习,取得理想的成绩,为今后的发展打下坚实的基础。

《Java程序设计》大作业

《Java程序设计》大作业
要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:
1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
6、万年历
要求:
使用图形用户界面。
实现日期与星期的查询
7、计算器
要求:
使用图形用户界面。
实现常用的计算功能。
8、日历记事本
要求:带有日程提醒功能的日历。
1、显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询下一个月的日期。
2、定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。
《Java程序设计》大作业
要求:
最后提交打印的大作业报告,报告内容格式如下:
封面(包括姓名,学号,班级,专业,院系)
题目(把你选择的题目写在这里)
程序(程序的源代码)
运行结果(运行的结果,贴图的形式)
总结
大作业题目:
1、编写一个记事本程序
要求:
用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
12、.敏感词汇分析
要求:
任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。
3、查询信息:用户可以查询到某个月的所有的提示信息。

《Java语言程序设计》教案

《Java语言程序设计》教案
4.布尔类型Boolean类型
第3节变量与常量
1.常量
2.变量
3.课堂案例
第4节运算符
1.赋值运算符“=”
2.算术运算符+、-、*、/、%
3.自增自减运算符
4.比较运算符>;<;==;>=;<=;!=
5.逻辑运算符&&;||;!
6.三目运算符
7.运算符的优先级
第5节数据类型转换
1.自动类型转换
2.强制类型转换
5、计算1*2*3*4*……*10的结果。
6、输入一个大于0的整数放入到变量n中,计算1+2+3+……+(n-1)+n的结果。
7、输入一个整数放入到变量n中,如果这个整数大于0,那么计算1+2+3+……+(n-1)+n的结果,否则输出“输入的数据有错误”。
8、循环输入5个学生的成绩,计算这5个学生的总分,及平均分。
教学内容
备注
第5章数组和字符串
第1节数组
1.一维数组的声明与创建
2.一维数组的初始化
3.二维数组的创建与初始化
4.课堂案例——数组元素排序
第2节String类
1.声明并创建字符串(常用)
2.使用字符数组创建字符串
3.连接字符串连接字符串“Hello”和“Java”
4.连接其他数据类型
5.获取字符串长度
比如:输入abc输入def输入Esc
就输出abcdef
12.输出1000以内的水仙花数
13.使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。

28424java程序设计大纲 (1)

28424java程序设计大纲 (1)

高纲0955江苏省高等教育自学考试大纲28424Java程序设计苏州大学编江苏省高等教育自学考试委员会办公室一、课程的性质与设置目的(一)课程性质和特点Java面向对象程序设计课程是一门重要的专业课。

众所周知,Java语言是当前最流行的网络编程语言之一,它具有面向对象、平台无关、安全、多线程等特点。

而Java平台标准版(J2SE)是各种Java技术的基础,只有掌握J2SE,才能进一步进行深入的Java技术的学习。

本课程的基本内容就是介绍J2SE的基础知识,具体包括:●Java的基本语法(常、变量的定义和使用,运算符和表达式的使用,基本的流程控制,引用及数组的基本概念);●Java的面向对象特性(类与对象,接口,抽象类,包等的基本概念和基本使用);●Java中常用的标准工具类(与I/O相关的标准类,与文本字符串操作相关的标准类等);●Java中对GUI的支持(AWT和Swing包中各个类的使用);●Java中的异常处理机制;●Java语言在网络编程中的应用(Applet、Socket编程,多线程等)。

(二)本课程的基本要求通过本课程的学习,应达到知识和技能两方面的目标:1、知识方面:从Java语言的面向对象和跨平台这两大特点出发:系统地学习和掌握面向对象机制中的封装、继承和多态特性在Java语言中的具体实现(类、包、接口、引用、抽象类、接口等);理解掌握JVM的工作原理、GUI中的布局管理、事件委托代理机制等知识,能运用它们编写简单的GUI程序。

2、技能方面:系统地学习和掌握面向对象的程序设计思想,从而进一步提高分析、解决问题的能力,形成良好的编写程序的习惯、风格。

(三)本课程与相关课程的联系本课程的先修课程包括计算机应用基础和高级程序设计,后继课程有数据结构和操作系统。

它们之间的关系是:1.本课程中程序的解释执行过程,IDE编程环境的使用等需要有计算机应用基础的基本知识和技能;2.本课程在高级程序设计(C语言)介绍的结构化程序设计思想的基础上,进一步介绍以数据为中心的面向对象的程序设计思想。

《Java程序设计》课程教学大纲

《Java程序设计》课程教学大纲

《Java程序设计》课程教学大纲课程编号:08120031课程名称:Java程序设计/JAVA Programming总学时/学分:48/3(其中理论32学时,实验16学时)适用专业:计算机科学与技术一、课程目标通过本课程学习,学生应达到如下目标:目标1. 识别Java语言特点、基本语法、语言机制。

目标2. 将面向对象方法知识运用在程序设计案例中,能使用JAVA常用类、枚举、lambda 表达式、容器、泛型进行实例编程验证。

目标3. 利用JavaSE中的异常处理、输入输出等技术来表达处理程序应用问题。

目标4. 将图形用户界面和数据库编程技术运用中综合应用程序设计中。

目标5. 搭建Java开发环境,能设计实现各种Java技术的应用程序,且能测试运行。

二、课程目标对毕业要求的支撑三、教学过程安排四、实验或上机内容五、课程目标达成方法六、考核标准本门课程考核包括6个部分,分别为考试、作业、实验、讨论和测验。

具体要求及评分方法如下:1、期末考试试卷知识点要求2、作业3、实验4、讨论设置讨论课一次,要求学生按照讨论题目分组查阅资料,归纳总结,撰写报告。

5、测验随堂测验,老师给出题目,学生回答。

具体有任课老师给出评分标准。

七、教材及主要参考资料[1] 黑马程序员. Java基础入门(第2版)[M]. 清华大学出版社, 2018.[2] 郑人杰、马素霞、殷人昆. 软件工程概论(第2版)[M]. 机械工业出版社,2016.[3] Gay S.Horstmann. Java核心技术(第10版)[M]. 机械工业出版社,2016.[4] Y.Daniel Liang(美). Java语言程序设计(第10版)[M]. 机械工业出版社.2015.[5] 李刚. 疯狂Java讲义(第4版)[M]. 电子工业出版社,2018.[6] 封亚飞. 揭秘Java虚拟机[M]. 电子工业出版社,2017.[7] Bruce Eckel(美). Java编程思想(第4版)[M]. 机械工业出版社,2007.。

全国计算机等级考试二级 java 语言 程序设计

全国计算机等级考试二级 java 语言 程序设计

全国计算机等级考试二级 java 语言程序设计计算机等级考试二级Java语言程序设计是一项重要的考试,它涵盖了许多关于Java语言的知识和技能。

在这篇文章中,我们将深入探讨这个考试的内容,包括Java语言的基本知识、程序设计和相关技能。

一、Java语言基础知识在Java语言基础知识的考试中,包括了Java语言的基本概念、语法和语义。

考生需要了解Java语言的数据类型、变量和运算符,掌握面向对象编程的基本原理和概念,了解Java语言的流程控制语句、数组和字符串的操作,以及异常处理和输入输出流等内容。

此外,考生还需要了解Java的面向对象编程思想,包括类和对象的概念,封装、继承和多态的原则,以及接口和抽象类的使用。

对于Java语言的类库(如Java.util、Java.io等)也需要有一定的了解,掌握常用类库的使用方法和功能。

在准备Java语言基础知识考试时,考生需要多进行练习,熟悉各种语法和数据类型的使用,掌握面向对象编程的基本原则和概念,了解类库的使用方法和功能。

二、程序设计基础程序设计基础是Java语言考试中的一个重要部分,它涉及到程序设计的基本原理和技能。

在这部分考试中,考生需要了解基本的算法和数据结构,掌握面向对象的程序设计方法和技巧,能够设计并实现简单的Java程序。

在程序设计基础考试中,通常包括了一些简单的编程题目,要求考生能够根据题目要求进行程序设计,并使用Java语言实现。

这些题目通常涉及到基本的算法设计,如排序算法、查找算法等,还涉及到数据结构的使用,如链表、栈、队列等。

在准备程序设计基础考试时,考生需要加强对基本算法和数据结构的学习,掌握面向对象的程序设计方法和技巧,多进行编程练习,提高编程能力和实际操作能力。

三、项目实践除了基础知识和程序设计基础,Java语言考试还涉及到项目实践的内容。

在项目实践中,通常会要求考生根据一定的需求进行程序设计和开发,包括需求分析、系统设计、编码实现和测试调试等环节。

Java程序设计实验指导

Java程序设计实验指导

附一、实验报告填写方法附1.1 实验开发环境1.硬件:Intel P42.4G/256M/40G PC机一套;2.软件:Windows XP+j2sdk1.5.0+JCreator Pro3.1.0+(MS Access 2000)附1.2实验过程要求1.在上课的同时,将每个实验预习的每个例题直接完成在实验指导书上;2.在实验之前,将实验要求的程序写在草稿本上;3.每次实验之前需要把实验指导书和写有程序的草稿纸带上,以备检查,否则不能进入实验室。

4.实验过程中,不能做与实验无关的事情(如:打游戏、看其他书籍),否则本次实验成绩记0分,在遇到问题的时候举手提问,同学之间交流的声音不可太大。

附1.3实验报告内容填写1.第1页:填写(1)实验目的、(2)实验要求2.第2页~第3页:填写(3)实验程序源代码3.第4页:填写(4)实验运行结果、(5)实验总结实验一:Java基础程序设计Java程序设计语言同大多数程序设计语言一样,具有一些基本特性。

本节实验主要练习Java编程语言的这些基本特性,如Java中的简单数据类型,运算符和表达式,这是学习Java语言必须经过的基础阶段。

掌握了本节实验所讲述的内容后,应该能够对Java程序的构成有一个基本的理解,能够灵活运用Java语言提供的各种数据类型和运算符。

学好Java语言必须具备扎实的语言基础,这对后续学习是很有必要的。

Java程序通过控制语句来执行程序流,完成一定的任务。

程序流是由若干个语句组成的,语句可以是单一的一条语句,也可以是用大括号{}括起来的一个复合语句。

Java中的控制语句主要有分支语句(if-else,switch).循环语句(while,do-while,for)与程序转移有关的跳转语句(break,continue,return)。

本节实验将学习如何控制程序的流程,使程序实现不同功能。

1.1实验目的:1.掌握Java语言的数据类型。

2.掌握Java语言的运算符和表达式。

JAVA程序教学设计: JAVA基本语法——商场购物清单打印

JAVA程序教学设计: JAVA基本语法——商场购物清单打印

课题名称项目2:购物清单打印计划学时12课时内容分析学做任何事情,都要打好基础。

同样地,要掌握并熟练使用Java语言,必须充分了解Java语言中的基础知识。

本项目将针对Java的基本语法、Java中的变量、运算符进行详细地讲解。

教学目标及基本要求要求学生掌握Java的基本语法、掌握Java中常量和变量的使用、掌握变量的作用域、掌握变量的类型转换。

重点及措施教学重点:变量的作用域。

难点及措施教学难点:短路与和与运算的区别,短路或和或运算的区别。

教学方式“做,学,教”三位一体教学。

教学过程第一,二,三课时(Java代码的基本格式、注释、标识符、关键字和常量)Java代码的基本格式●Java中的代码分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。

每条功能执行语句的最后都必须用分号(;)结束。

●Java语言是严格区分大小写的。

●在编写程序代码时,尽量做到整齐、美观、层次清晰,使用代码保持一种良好的格式,提高可读性。

Java中的注释✧单行注释单行注释是对程序中的某一行代码进行解释,用符号“//”表示。

“//”后面为被注释的内容,具体示例如下:int c = 10; // 定义一个整型变量✧多行注释多行注释以符号“/*”开头,以符号“*/”结尾,具体示例如下:/* int c = 10;int x = 5; */✧文档注释以“/**”开头,并在注释内容末尾以“*/”结束。

文档注释是对代码的解释说明,可以使用javadoc命令将文档注释提取出来生成帮助文档。

Java中的标识符✧什么是标识符在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如,包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

✧定义标识符的规则●包名所有字母一律小写。

例如:cn.itcast.test。

●类名和接口名每个单词的首字母都要大写。

例如:ArrayList、Iterator●常量名字母都大写,单词之间用下划线连接。

Java程序设计报告(供应合同台账系统)

Java程序设计报告(供应合同台账系统)

北华大学Java 课程设计——供应合同台帐系统姓名:班级:信息13-2学号:6院系:电子信息工程指导教师:设计日期:2015年12月目录摘要 ................................................................................................ .2一、总体概述 (3)二、需求分析 (3)三、开发环境 (5)1、Java语言简介 (5)2、eclipse (6)3、MySQL (6)四、架构图 (7)1、合同管理流程 (7)2、系统框图 (8)五、界面设计及基本操作说明 (9)1、安装 (9)2、注册 (9)3、登陆 (10)4、信息查询及修改 (11)5、添加信息 (12)6、打印信息 (12)六、数据库设计 (13)七、心得体会 (16)八、参考文献 (16)附录: (17)摘要基于eclipse开发环境,应用MySQL数据库,使用Java语言编写供应合同台账系统,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的合同管理平台。

多用户,分权限,联网独立操作该系统。

本系统遵循商务智能技术架构,由数据采集、数据仓库构成,应用架构采用两层架构,分别是:客户端程序/数据库服务器,应用服务器采用J2SE标准进行开发,数据库使用MySQL。

各层间可实现功能服务策略交互。

关键字Java ;合同;台账系统一、总体概述本课题为供应合同台账系统,实现合同的有序管理。

合同管理系统,是建立在信息技术基础上,利用现代企业的先进管理思想,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的合同管理平台。

通过电子台账市委可以有效快捷的管理全市重点工程和工程建设领域突出问题进行专项治理情况,针对在建项目中存在审批资料不完整、手续不完善等问题,通过建立台账等措施跟踪查办。

合同管理是企业经营管理基础工作上的重要内容,通过加强管理,规范企业合同的签订和履行,能够有效防范风险、优化管理降低成本、提高效益。

《Java程序设计》任务书

《Java程序设计》任务书

《Java程序设计》实训任务书一一、课题名称:选择语句的使用二、设计目的1、通过理论知识与实际需求相结合,编程解决一些日常中实际的问题,培养初步的独立分析和设计能力。

2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用Java 语言进行程序设计的基本规范;3、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

4、重点掌握Java语言的程序编写、算法设计和程序调试方法;5、掌握本实训中所重点涉及的选择结构相关知识,熟练使用if嵌套语句和switch语句。

三、设计任务分别使用if嵌套语句和switch多分支选择语句实现:通过键盘输入一个学生的一门课成绩等级,判断其所在的分数段。

即等级用A、B、C、D、E等表示,A代表的分数段为90分以上,B代表的分数段为80~89,C代表的分数段为70~79,D代表的分数段为60~69,E代表不及格,其它字符表示输入错误。

四、设计要求1、分析程序(建模);2、画出程序流程图;3、界面友好(良好的人机互交);4、完成设计说明书(A4)。

五、运行环境1、Windows XP系统2、JDK 6.0(Java开发工具包)、Netbeans IDE 1.7.2(Netbeans集成开发环境)《Java程序设计》实训任务书二一、课题名称:打印输出特殊的图形二、设计目的1、通过理论知识与实际需求相结合,编程解决一些日常中实际的问题,培养初步的独立分析和设计能力。

2、了解应用程序设计解决实际问题的具体过程和实现方法,掌握应用Java 语言进行程序设计的基本规范;3、初步掌握系统开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

4、重点掌握Java语言的程序编写、算法设计和程序调试方法;5、掌握本实训中所重点涉及的循环结构相关知识,找出图形中元素的排列规律,熟练使用循环嵌套语句。

三、设计任务编写程序,分别打印出如下两个所示的图形。

四、设计要求1、分析程序(建模);2、界面友好(良好的人机互交);3、完成设计说明书(A4)。

java程序设计第三版答案

java程序设计第三版答案

java程序设计第三版答案Java程序设计第三版是一本广泛用于教学和自学的Java语言教材,由Y. Daniel Liang所著。

这本书涵盖了Java编程的基础知识和高级概念,包括数据类型、控制结构、类和对象、继承、接口、异常处理、集合框架、多线程、输入输出流、网络编程等。

以下是一些可能的练习题答案和解析,但请注意,具体答案可能因版本和题目的不同而有所差异。

第一章:Java入门练习题1:编写一个Java程序,打印出“Hello, World!”。

答案:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```解析:这个程序定义了一个名为`HelloWorld`的公共类,其中包含一个`main`方法,这是Java程序的入口点。

`System.out.println`用于在控制台打印文本。

第二章:数据类型、运算符和表达式练习题2:计算并打印出以下表达式的值:`(5 + 3.14) * 2 - 7 / 2`答案:```javapublic class ExpressionEvaluation {public static void main(String[] args) {double result = (5 + 3.14) * 2 - 7 / 2;System.out.println(result);}}```解析:在Java中,算术运算符的优先级是加法和减法低于乘法和除法。

因此,表达式首先计算括号内的加法和乘法,然后执行除法,最后进行减法。

第三章:控制语句练习题3:编写一个程序,使用for循环打印出1到10的整数。

答案:```javapublic class ForLoopExample {public static void main(String[] args) {for (int i = 1; i <= 10; i++) {System.out.println(i);}}}```解析:`for`循环由三个部分组成:初始化表达式、条件表达式和迭代表达式。

JAVA程序设计——打印沙漏

JAVA程序设计——打印沙漏

JAVA程序设计期末实验一、打印沙漏。

所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个沙漏。

要求打印出的沙漏能用掉尽可能多的符号。

二、代码/*核心思想:1.确定沙漏的行数和剩余的字符数 2.对于沙漏的上下两部分的每一行,先打印空格,再输出字符,循环 3.将代码修改为图形界面*/ package jy;import java.util.Scanner;import javax.swing.JOptionPane;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s =JOptionPane.showInputDialog(null,"从',' '.' '$' '#' '@''*'选择一个符号作为沙漏符号","输入对话框",JOptionPane.PLAIN_MESSAGE);String q =JOptionPane.showInputDialog(null,"输入一个不大于100的正整数:","输入对话框",JOptionPane.PLAIN_MESSAGE);int N = Integer.parseInt(q);int left = 0;//n为一半沙漏行数,left为剩余符号的个数。

if(N<=100) {int n = (int)Math.sqrt(N)-1;left = N-2*n*n;System.out.print("沙漏的行数:"+n);System.out.println();System.out.print("剩余字符数:"+left);System.out.println();//打印前半个沙漏for(int i=1; i<=n; i++) {//打印空格for(int m=0;m<i-1;m++) {System.out.print(" ");}for(int j=2*n-1;j>=2*i-1;j--) {System.out.print(s);}System.out.println();}//打印后半个沙漏for(int i=1; i<=n; i++) {//打印空格for(int m=n-1;m>i-1;m--) {System.out.print(" ");}for(int j=1;j<=2*i-1;j++) {System.out.print(s);}System.out.println();}}String result = "剩余字符个数为:"+left;JOptionPane.showMessageDialog(null,result);}}三、结果分析。

Java程序设计一种跨学科的方法影印版课程设计

Java程序设计一种跨学科的方法影印版课程设计

Java程序设计一种跨学科的方法影印版课程设计课程设计简介
本课程设计是应用Java程序设计语言,结合跨学科的思维方式,设计一个影
印版打印店的管理系统。

通过本课程设计,学生将学习如何使用Java程序设计语言来完成一个实际应
用系统的设计和开发。

同时,通过跨学科的思维方式,将会帮助学生拥有更广阔的视野,并且能够将不同学科间的知识整合起来,帮助学生培养综合素质。

课程设计目标
1.学会使用Java程序设计语言
2.掌握软件工程的基本理念
3.认识并掌握跨学科的思维方式
4.学会在实际应用场景中设计和开发系统
5.培养学生的综合素质
设计思路
本课程设计是基于影印版打印店的管理系统进行设计的。

系统有两个用户角色,分别是管理员和顾客。

管理员可以对打印店的基本信息、产品信息、订单信息等进行管理。

顾客可以通过系统下单、付款、核实订单等操作。

系统的主要功能如下:
1.管理员登陆:系统管理员通过输入用户名和密码进行登陆,以便后续
进行管理。

2.基本信息管理:管理员可以对打印店的基本信息进行管理,包括名称、
地址、联系方式等信息。

1。

《Java程序设计》课程标准

《Java程序设计》课程标准

《Java程序设计》课程标准一、课程名称Java程序设计二、适用专业本课程标准适用计算机网络技术专业三、课程性质《Java语言程序设计》是计算机网络技术专业和大数据技术与应用专业一门很重要的专业课程。

本课程的任务是通过理论教学和实践教学,引导学生完成一个较复杂项目的设计、编程和调试,来培养及训练学生的程序设计技能以及分析问题和解决问题的能力。

能看懂用Java语言编写的程序;并能自己编写程序;熟练掌握Java语言的基本分析方法,熟悉Java语言的程序设计步骤,初步学会将较复杂的项目细分成若干个小任务,然后通过对与任务相关知识的分析,逐步达到完成任务的目的。

培养学生实事求是的学习态度和严谨的科学作风。

通过对本课程的学习,为以后从事本专业工作打下坚实基础。

四、教学目标通过采用“项目分解、任务驱动”的创建教学模式和项目综合实训,使学生掌握运用Java语言进行桌面应用程序开发的基本知识和技能,具有运用数据库技术和软件工程技术进行桌面应用程序开发的技能,能基本胜任Java开发程序员的工作岗位。

通过本课程的学习,可以培养学生诚实、守信、坚忍不拔的性格;提高学生在沟通表达、自我学习和团队协作方面的能力;同时养成规范的编码习惯。

课程教学目标具体体现为专业技能、专业素质和专业知识三方面的目标。

(一)专业技能目标1.能运用面向对象程序设计的思想分析和设计类;2.会定义接口,并能有效组织类和接口;3.会使用Eclipse开发工具开发Java应用程序;4.能综合应用所学知识解决实际问题。

(二)专业素质目标1.具有良好的IT职业道德、职业素养和职业规范;2.具有热爱科学、实事求是、严肃认真、一丝不苟、按时守信的工作作风;3.具有较强的自我更新知识和技能的能力;4.具有基本的阅读文档、编写程序文档的能力。

5.具有良好的团队协作和创新能力。

(三)专业知识目标1.会安装并配置典型的Java开发环境;2.会应用Java语言编写简单的程序;会应用Java常用组件创建图形用户界面;3.会应用Java中的事件处理方法处理组件事件;会应用Java异常处理机制处理、抛出和捕获异常,编写高质量的程序;4.会使用JDBC技术访问数据库和处理数据库中的数据;5.会使用Java文件处理技术完成文件的处理,并使用Java中的集合容器类解决实际问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java打印程序设计1 前言在我们的实际工作中,经常需要实现打印功能。

但由于历史原因,Java提供的打印功能一直都比较弱。

实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。

所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。

实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮的打印模式的开端,该打印模式与Java2D图形包充分结合成一体。

更令人鼓舞的是,新发布的jdk1.4则提供了一套完整的"Java 打印服务 API" (Java Print Service API),它对已有的打印功能是积极的补充。

利用它,我们可以实现大部分实际应用需求,包括打印文字、图形、文件及打印预览等等。

本文将通过一个具体的程序实例来说明如何设计Java打印程序以实现这些功能,并对不同版本的实现方法进行分析比较,希望大家能从中获取一些有益的提示。

2 Java中的打印2.1 Java的打印APIJava的打印API主要存在于java.awt.print包中。

而jdk1.4新增的类则主要存在于javax.print 包及其相应的子包javax.print.event和javax.print.attribute中。

其中javax.print包中主要包含打印服务的相关类,而javax.print.event则包含打印事件的相关定义,javax.print.attribute则包括打印服务的可用属性列表等。

2.2 如何实现打印要产生一个打印,至少需要考虑两条:需要一个打印服务对象。

这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。

需要开始一个打印工作。

这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供的,现在已经很少用了)调用print或printAll方法开始打印工作;也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,然后通过print方法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,然后调用print方法开始一个打印工作。

2.3 打印机对话框2.3.1 Printable的打印对话框开始打印工作之前,可以通过PrinterJob.printDialog来显示一个打印对话框。

它给用户一个机会以选择应该打印的页码范围,并可供用户改变打印设置。

它是一个本地对话框。

事实上,当从一个Printable对象进行一个打印工作时,打印对象并不知道需要打印多少页。

它只是不停地调用print方法。

只要print方法返回Printable.PAGE_EXISTS值,打印工作就不停地产生打印页,直到print方法返回Printable.NO_SUCH_PAGE时,打印工作才停止。

由于打印工作只有在打印完成后才进行准确的页数计算,所以在对话框上的页码范围是尚未初始化的[1,9999]。

我们可以通过构建一个java.awt.print.Book对象传递给打印对象;也可以通过指定的格式计算需要打印的页数并传递给打印对象,使其准确地知道要打印多少页。

2.3.2 ServiceUI的打印对话框与Printable的对话框不同的是,在jdk1.4提供ServiceUI的打印机对话框的缺省行为已经用新的 API 更改了:缺省情况下对话框不显示。

我们必须使用ServiceUI类调用printDialog方法创建如下所示的打印对话框。

3 Java打印程序设计实例3.1 打印文本3.1.1 应用场景假设我们需要打印一个窗体的某个文本编辑域(可能只有几行,也可能包含多页)的内容,并且每页最多打印54行,如何实现呢?3.1.2 解决方法基本思路如下:首先我们需要实现Printable接口,然后按照每页最多54行的格式计算共需要打印多少页,当打印文本的按钮被点击时,执行相应的打印动作。

打印文本的具体操作可通过Graphics2D的drawString方法来实现。

1、实现Printable接口/*Graphic指明打印的图形环境;PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英寸的1/72,1英寸为25.4毫米。

A4纸大致为595×842点);page指明页号*/public int print(Graphics g, PageFormat pf, int page) throws PrinterException {Graphics2D g2 = (Graphics2D)g;g2.setPaint(Color.black); //设置打印颜色为黑色if (page >= PAGES) //当打印页号大于需要打印的总页数时,打印工作结束return Printable.NO_SUCH_PAGE;g2.translate(pf.getImageableX(), pf.getImageableY());//转换坐标,确定打印边界drawCurrentPageText(g2, pf, page); //打印当前页文本return Printable.PAGE_EXISTS; //存在打印页时,继续打印工作}/*打印指定页号的具体文本内容*/private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page) { String s = getDrawText(printStr)[page]; //获取当前页的待打印文本内容//获取默认字体及相应的尺寸FontRenderContext context = g2.getFontRenderContext();Font f = area.getFont();String drawText;float ascent = 16; //给定字符点阵int k, i = f.getSize(), lines = 0;while(s.length() > 0 && lines < 54) //每页限定在54行以内{k = s.indexOf('\n'); //获取每一个回车符的位置if (k != -1) //存在回车符{lines += 1; //计算行数drawText = s.substring(0, k); //获取每一行文本g2.drawString(drawText, 0, ascent); //具体打印每一行文本,同时走纸移位 if (s.substring(k + 1).length() > 0) {s = s.substring(k + 1); //截取尚未打印的文本ascent += i;}}else //不存在回车符{lines += 1; //计算行数drawText = s; //获取每一行文本g2.drawString(drawText, 0, ascent); //具体打印每一行文本,同时走纸移位 s = ""; //文本已结束}}}/*将打印目标文本按页存放为字符串数组*/public String[] getDrawText(String s) {String[] drawText = new String[PAGES]; //根据页数初始化数组for (int i = 0; i < PAGES; i++)drawText[i] = ""; //数组元素初始化为空字符串int k, suffix = 0, lines = 0;while (s.length() > 0) {if (lines < 54) //不够一页时{k = s.indexOf('\n');if (k != -1) //存在回车符{lines += 1; //行数累加//计算该页的具体文本内容,存放到相应下标的数组元素drawText[suffix] = drawText[suffix] + s.substring(0, k + 1);if (s.substring(k + 1).length() > 0)s = s.substring(k + 1);}else{lines += 1; //行数累加//将文本内容存放到相应的数组元素drawText[suffix] = drawText[suffix] + s;s = "";}}else //已满一页时{lines = 0; //行数统计清零suffix++; //数组下标加1}}return drawText;}2、计算需要打印的总页数public int getPagesCount(String curStr) {int page = 0;int position, count = 0;String str = curStr;while(str.length() > 0) //文本尚未计算完毕{position = str.indexOf('\n'); //计算回车符的位置count += 1; //统计行数if (position != -1)str = str.substring(position + 1); //截取尚未计算的文本elsestr = ""; //文本已计算完毕}if (count > 0)page = count / 54 + 1; //以总行数除以54获取总页数return page; //返回需打印的总页数}3.1、以jdk1.4以前的版本实现打印动作按钮监听,并完成具体的打印操作private void printTextAction() {printStr = area.getText().trim(); //获取需要打印的目标文本if (printStr != null && printStr.length() > 0) //当打印内容不为空时{PAGES = getPagesCount(printStr); //获取打印总页数PrinterJob myPrtJob = PrinterJob.getPrinterJob(); //获取默认打印作业PageFormat pageFormat = myPrtJob.defaultPage(); //获取默认打印页面格式myPrtJob.setPrintable(this, pageFormat); //设置打印工作if (myPrtJob.printDialog()) //显示打印对话框{try {myPrtJob.print(); //进行每一页的具体打印操作}catch(PrinterException pe) {pe.printStackTrace();}}}else { //如果打印内容为空时,提示用户打印将取消JOptionPane.showConfirmDialog(null, "Sorry, Printer Job is Empty, Print Cancelled!", "Emp ty", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSA GE);}}3.2、以jdk1.4新版本提供的API实现打印动作按钮监听,并完成具体的打印操作private void printText2Action() {printFlag = 0; //打印标志清零printStr = area.getText().trim();//获取需要打印的目标文本if (printStr != null && printStr.length() > 0) //当打印内容不为空时{PAGES = getPagesCount(printStr); //获取打印总页数//指定打印输出格式DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;//定位默认的打印服务PrintService printService = PrintServiceLookup.lookupDefaultPrintService();//创建打印作业DocPrintJob job = printService.createPrintJob();//设置打印属性PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();DocAttributeSet das = new HashDocAttributeSet();//指定打印内容Doc doc = new SimpleDoc(this, flavor, das);//不显示打印对话框,直接进行打印工作try {job.print(doc, pras); //进行每一页的具体打印操作}catch(PrintException pe) {pe.printStackTrace();}}else { //如果打印内容为空时,提示用户打印将取消JOptionPane.showConfirmDialog(null, "Sorry, Printer Job is Empty, Print Cancelled!", "Emp ty", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSA GE);}}3.2 打印预览3.2.1应用场景大多少商业应用都需要提供打印预览机制,它可以让我们在屏幕上看到页面,这样就不会因为不喜欢的打印结果而浪费纸张。

相关文档
最新文档