java小程序设计

合集下载

Java做的一个小程序-随机点名器

Java做的一个小程序-随机点名器

Java做的一个小程序-随机点名器介绍随机点名器是一款使用Java编写的小程序,它主要用于在学生课堂上随机抽取学生姓名进行点名。

该程序可以通过命令行方式运行,而且它的使用非常简单,不需要任何的专业技能与知识。

功能特点随机点名器的主要功能是在学生课堂上进行学生姓名的随机抽取,以帮助老师完成课堂管理工作。

程序的具体功能特点如下:•支持添加学生姓名:程序可以通过用户输入学生姓名的方式,将其添加到学生库中。

•支持删除学生姓名:用户可以对已存在的学生进行删除操作。

•支持随机点名:程序可以随机抽取学生姓名,以完成点名的操作。

•支持列表显示:程序可以展示所有的学生姓名列表,以供用户查看。

使用说明系统要求随机点名器使用Java语言编写,因此用户需要先安装Java运行环境。

具体要求如下:•操作系统:Windows、Linux、MacOS等•Java版本:JRE 1.8或以上版本安装方法1.下载程序压缩包。

2.解压缩到用户指定的目录。

3.运行“run.bat”文件(Windows平台)或“run.sh”文件(Linux/MacOS平台)。

使用方法1.添加学生姓名:在命令行窗口中输入“add”命令,然后输入学生姓名进行添加。

2.删除学生姓名:在命令行窗口中输入“delete”命令,然后输入需要删除的学生姓名。

3.随机点名:在命令行窗口中输入“random”命令,程序将随机抽取一个学生姓名进行点名。

4.显示学生列表:在命令行窗口中输入“list”命令,程序将展示所有已经添加的学生姓名。

技术实现技术框架随机点名器采用Java语言编写,主要使用了JDK中的标准库,使用了Collection接口中的List、Set集合类、Random类等。

算法实现随机点名的算法实现主要通过Java中的Random类实现,随机整数范围为0到学生数量-1,通过集合类的索引访问随机抽取的学生姓名。

代码实现```Java import java.util.*;public class RandomPicker { private List students;public RandomPicker() {students = new ArrayList<String>();}public void add(String name) {students.add(name);}public void delete(String name) {students.remove(name);}public String random() {Random random = new Random();int index = random.nextInt(students.size());return students.get(index);}public void list() {int n = 1;for(String student : students) {System.out.println((n++) + \。

论如何使用JBuilder开发Java小应用程序

论如何使用JBuilder开发Java小应用程序

论如何使用JBuilder开发Java小应用程序摘要:java小应用程序,是一种能够编写跨平台应用软件的设计程序语言。

在互联网的世界里,java技术具有良好的平台移植性、通用性和高效性,被游戏控制台、个人电脑、移动电话以及数据中心广泛使用。

java所实现成功的hotjave浏览器具有java的独特魅力。

而为了更好的开发java小应用程序,borland公司开发了一种新型的开发工具,即jbuilder。

jbuilder能够有效、快速的对任何java应用进行开发,它的核心部分采用了vcl技术,使得困难的代码问题迎刃而解。

本文就此对如何使用jbuilder开发java小应用程序进行分析,对构建applet框架、制作设计界面以及开发中需注意的问题进行简单的论述。

关键词:jbuilder;java小应用程序;applet中图分类号:tp311.52 文献标识码:a文章编号:1007-9599 (2013) 05-0000-02jbuilder实质上是一种可视化的开发java的工具。

jbuilder能够在java2的平台上进行商业化的数据库、程序开发。

由于jbuilder 支持j2ee,因此能够互换企业java应用程序。

而java小应用程序能够推动整个web的发展,其所用的浏览器支持java applet。

只要浏览器在html文档内发现了,那么就会从中获取java类文件,进行加载并开始运行。

jbuilder2005中采用了jdk1.5。

java所使用的开发工具包也是jdk1.5,这就导致java2出现了较多新功能。

比如swing控件能够让用户的界面变得很美观。

而内部的uml代码具有可视化的功能,能够进行代码审核。

支持多语控制系统。

1生成applet框架jbuilder2005中有三种工具可以帮助生成、测试applet程序,即applet wizard、applettestbed以及applet viewer。

java编写小程序 ATM自助取款机

java编写小程序 ATM自助取款机

while(rs.next()){
if(!rs.getString("帐号").equals(num)){ //判断数据库中是否已有与此相同的卡号
//银行需要公安部门提供相关户口信息,并以此为根据建立一个数据库(ID)
System.out.println(" 温馨提示:");
System.out.println("您所输入的姓名与码必须相符,否则不能开通新帐户");
Scanner sc2=new Scanner(System.in);
int p1=sc2.nextInt();
System.out.println("请输入新密码");
if(sc1.nextInt()==1){
boolean be2=true;
while(be2){
System.out.println("请输入新密码");
be1=false; //结束第一个while循环(也就是上面所要控制的循环)
.println(num); //输出卡号
System.out.println("请输入再次输入新密码");
int p2=f.nextInt();
if(p1==p2){
Scanner sc3=new Scanner(System.in);
int p2=sc3.nextInt();
if(p1==p2){
String sql1="select 姓名 from ID" +
" where 身份证号码=' "+IDnum+" '"; //查询姓名为name的身份证号码

java日历小程序

java日历小程序

java日历小程序简介:Java日历小程序是一个基于Java语言开发的工具,用于显示和管理日期和时间。

它提供了一种简单而直观的方式来查看、创建和编辑日历事件,并提供了一些额外的功能,如提醒、重复事件和时间段的计算等。

本文将详细介绍Java日历小程序的功能、使用方法和设计原理。

功能:1. 显示日历:Java日历小程序可以显示当前月份的日历,并以日、周或月的形式展示。

用户可以通过界面上的上下翻页按钮切换月份,方便查看不同日期的日历。

2. 创建和编辑事件:用户可以通过Java日历小程序创建新的日历事件,并为每个事件指定标题、日期、时间和地点等详细信息。

程序还提供了事件编辑功能,允许用户修改已有事件的信息。

3. 提醒功能:Java日历小程序可以设置事件的提醒功能,提醒用户在指定的时间前提醒。

用户可以选择在事件开始前几分钟、几小时或几天提醒,并可以自定义提醒方式,如弹窗、声音或邮件通知等。

4. 重复事件:用户可以为事件设置重复功能,使事件在指定的日期间隔内重复发生。

可以选择每天、每周、每月或每年重复,并可以设置重复的结束日期。

5. 时间段计算:Java日历小程序可以计算两个日期之间的时间段,如计算两个事件之间的天数、小时数或分钟数等。

用户可以选择计算方式,并获取精确的时间段结果。

使用方法:1. 下载和安装:用户可以从官方网站上下载Java日历小程序的安装包,然后按照安装向导进行安装。

安装完成后,用户可以在桌面或开始菜单中找到程序的快捷方式。

2. 打开程序:双击程序的快捷方式,Java日历小程序将启动并显示当前月份的日历。

用户可以通过界面上的按钮和菜单来使用各种功能。

3. 创建事件:用户可以点击界面上的“添加事件”按钮,弹出一个对话框,输入事件的详细信息,如标题、日期、时间和地点等。

点击“确定”按钮后,事件将被创建并显示在日历上。

4. 编辑事件:用户可以在日历上点击已有的事件,弹出一个对话框,允许用户修改事件的信息。

java课程设计贪吃蛇小程序 附代码(2)

java课程设计贪吃蛇小程序 附代码(2)
}
public void keyPressed(KeyEvent e) {//按键响应
int keyCode=e.getKeyCode();
if(stat==1) switch(keyCode){
case KeyEvent.VK_UP:if(direction!=SOUTH) direction=NORTH;break;
游戏主界面模块:
游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、游戏速度控制按钮、暂停游戏按钮、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。
游戏控制模块:
这个模块是游戏的中心环节,主要完成控制游戏的速度、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。
本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。
性能:
本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。
自定义类说明
图3-1程序运行图
当蛇没有吃到食物且碰到边界或碰撞到自己的身体时,游戏结束,此时得分为0。如果想重新开始即按ENTER或S键,运行结果如图3-2所示:
图3-2程序结束图
程序异常处理
在蛇的运行线程过程中,当蛇撞到墙或自己的身体时,将抛出一个Exception类的异常对象,然后使用try-catch去捕捉这个异常,
2、课程设计的具体要求:
(1)界面美观大方,操作简单便捷,按键布局美观。

猜成语Java小程序(Java)

猜成语Java小程序(Java)

猜成语Java小程序(Java)一、引言成语是中华文化的瑰宝,它们凝练、精辟地表达了智慧和人生哲理。

为了增进对成语的理解和记忆,并加深对Java编程语言的应用,我们设计了一个猜成语的小程序。

这个小程序运用Java编程语言实现,具有交互性和趣味性,可以提供一种有趣的学习方法和娱乐方式。

二、程序设计方案1. 界面设计为了使程序界面美观整洁,我们使用Java的图形用户界面库(Swing)进行设计。

在程序的主界面上,我们引入一幅适应窗口大小的背景图片,使整个界面富有元素,增加用户体验感。

2. 成语数据集为了实现成语的随机猜测,我们需要一个成语数据集。

我们选择了一个包含多个常用成语的文本文件(idioms.txt)作为数据源。

程序在启动时从该文件中读取成语,并将其存储在一个ArrayList对象中。

3. 游戏逻辑实现程序首先从成语数据集中随机选择一个成语作为答案,并将其打乱顺序显示在界面上。

用户需要通过输入成语的正确顺序来猜测答案。

程序提供一个文本框供用户输入,用户每输入一个成语后,程序会给出反馈,告知用户该成语是否正确。

4. 成功判断和反馈当用户输入的成语顺序与答案一致时,程序将判断猜测正确,弹出一个提示框,告知用户回答正确。

同时,程序还会显示出答案的含义和出处,增强用户对成语的理解。

若用户输入的成语顺序与答案不一致,则程序会给出相应的错误提示,提示用户继续猜测,直到猜测正确为止。

三、程序运行展示(这里可以插入几张程序运行截图,展示整个程序的界面和交互过程)四、程序实现过程1. 导入所需库为了使程序实现图形用户界面,我们需要导入Java的Swing库。

在程序开始的地方,添加以下导入语句:```import javax.swing.*;```2. 程序主类创建一个主类,继承JFrame类,并在主类中实现界面的布局和事件监听器的设置。

```public class GuessIdiom extends JFrame{// 界面布局和事件监听器设置的代码// ...}```3. 界面设计在主类中添加一个方法,用于设置界面的布局和组件。

用Java开发手机小游戏

用Java开发手机小游戏

用Java开发手机小游戏Java是一种流行的编程语言,广泛用于开发各种应用程序,包括手机游戏。

本文将介绍如何使用Java开发手机小游戏,并讨论其中的一些重要技术和注意事项。

一、介绍手机游戏在当今社会已经成为人们休闲娱乐的重要方式之一。

Java作为一种跨平台的编程语言,具有广泛的应用性和强大的功能,适用于开发各种类型的手机游戏。

Java提供了丰富的库和工具,使得开发人员可以快速而轻松地创建各种有趣的游戏。

二、游戏开发工具1. Java开发工具包(Java Development Kit,简称JDK):JDK是Java开发的核心工具,提供了编译、运行和调试Java程序所需的各种功能。

2. 集成开发环境(Integrated Development Environment,简称IDE):IDE是一种集成了多种开发工具的软件,如代码编辑器、编译器和调试器等。

常用的Java IDE包括Eclipse、IntelliJ IDEA和NetBeans等。

3. 游戏引擎:游戏引擎是一种软件框架,提供了游戏开发所需的核心功能,如图形渲染、物理模拟和碰撞检测等。

常用的Java游戏引擎有libGDX和jMonkeyEngine等。

三、游戏开发步骤1. 需求分析:在开发游戏之前,首先需要明确游戏的需求和目标。

确定游戏的类型、玩法和目标受众,并制定相应的开发计划。

2. 设计阶段:在设计阶段,需要创建游戏的概念设计和详细设计文档。

概念设计包括游戏的整体思路和核心玩法,详细设计则包括各个游戏元素的具体实现方式。

3. 编码实现:使用Java编写游戏的代码,包括游戏逻辑、图形渲染和用户输入处理等。

在编码过程中,可以根据需要使用游戏引擎提供的功能和库。

4. 测试和调试:在开发过程中,需要对游戏进行测试和调试,确保游戏的运行稳定和符合预期。

5. 发布和上线:完成游戏的开发和测试后,可以将游戏发布到手机应用商店或其他平台上,供用户下载和安装。

实现屏幕截图的小程序 java课程设计

实现屏幕截图的小程序 java课程设计

实现安全工作方针与目标的措施经济与管理学院信息管理与信息系统专业《java实验周》报告(2015/2016学年第一学期)学生姓名:学生班级:学生学号:指导教师:2015年12月25日实现屏幕截图的小程序一、实验题目实现屏幕截图的小程序二、实验要求编程一个应用小程序,能够具有屏幕截图的功能,截图的具体实现有:(1)显示出工作区域,即能够截屏的面积;(2)鼠标可以随意滑动进行截图;(3)将所截取的图片保存在想要保存的位置;(4)程序结束后可以退出整个应用。

三、程序流程图3.1 业务流程图四、技术原理程序的主类是cutScreen,继承自无边框的框架JWindow;cutScreen()是一个定义屏幕尺寸的构造方法;使用方法mousePressed(MouseEvent e)来监听当前鼠标点击的动作;用方法mouseReleased(MouseEvent e)监听鼠标松开时,显示操作窗口;方法mouseDragged(MouseEvent e)监听拖动鼠标;paint(Graphics g)画出指定的工作区域;saveImage()保存图像。

工具栏ToolsWindow类,继承自有边框的框架JFrame;方法init()用来设置布局方式为BorderLayout;run()捕捉屏幕截图。

五、附实验代码import java.awt.*;import java.awt.event.*;import java.awt.image.BufferedImage;import java.awt.image.RescaleOp;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import javax.imageio.ImageIO;import javax.swing.*;import javax.swing.filechooser.FileNameExtensionFilter;import javax.swing.filechooser.FileSystemView;//Jwindow 是一个无边框的框架public class cutScreen extends JWindow {//beginX 开始的横坐标; beginY开始的纵坐标p rivate int beginX, beginY, endX, endY;p rivate BufferedImage image = null;p rivate BufferedImage tempImage = null;p rivate BufferedImage saveImage = null;p rivate ToolsWindow tools = null;//构造方法p ublic cutScreen() throws AWTException, IOException {// 获取屏幕尺寸宽和高int width = Toolkit.getDefaultToolkit().getScreenSize().width;int height = Toolkit.getDefaultToolkit().getScreenSize().height;// 设置窗口大小//(0, 0, width, height)第一个0代表横坐标,第二个代表纵坐标this.setBounds(0, 0, width, height);// 截取屏幕Robot robot = new Robot();//参数Rectangle是代表工作区域image = robot.createScreenCapture(new Rectangle(0, 0, width, height));ImageIO.write(image, "jpg", new File("d:/1"));// 本窗口添加监听(适配器)this.addMouseListener(new MouseAdapter() {@Override//当前鼠标点击动作public void mousePressed(MouseEvent e) {beginX = e.getX();beginY = e.getY();if (tools != null) {tools.setVisible(false);}}@Overridepublic void mouseReleased(MouseEvent e) {// 鼠标松开时,显示操作窗口if (tools == null) {tools = new ToolsWindow(cutScreen.this, e.getX(), e.getY());} else {tools.setLocation(e.getX(), e.getY());}tools.setVisible(true);// 将此窗口置于前端,并可以将其设为焦点 Windowtools.toFront();}});// 监听拖动鼠标this.addMouseMotionListener(new MouseMotionAdapter() {@Overridepublic void mouseDragged(MouseEvent e) {// 鼠标拖动时,记录坐标并重绘窗口endX = e.getX();endY = e.getY();// 临时图像,用于缓冲屏幕区域放置屏幕闪烁Image tempImage2 = createImage(cutScreen.this.getWidth(),cutScreen.this.getHeight());Graphics g = tempImage2.getGraphics();g.drawImage(tempImage, 0, 0, null);int x = Math.min(beginX, endX);int y = Math.min(beginY, endY);int width2 = Math.abs(endX - beginX) + 1;int height2 = Math.abs(endY - beginY) + 1;g.drawRect(x - 1, y - 1, width2 + 1, height2 + 1);// 生成子区域流图片saveImage = image.getSubimage(x, y, width2, height2);//画出图片g.drawImage(saveImage, x, y, null);//绘制当前指定的区域的图片cutScreen.this.getGraphics().drawImage(tempImage2, 0, 0,cutScreen.this);}});}// @Override//画出指定的工作区域p ublic void paint(Graphics g) {//进行逐像素重缩放RescaleOp ro = new RescaleOp(0.8f, 0, null);tempImage = ro.filter(image, null);g.drawImage(tempImage, 0, 0, this);}// 保存图像到文件p ublic void saveImage() throws IOException {JFileChooser jfc = new JFileChooser();jfc.setDialogTitle("保存");// 文件过滤器,用户过滤可选择文件FileNameExtensionFilter filter = new FileNameExtensionFilter("JPG", "jpg");jfc.setFileFilter(filter);// 初始化一个默认文件(此文件会生成到桌面上)// 生成时间SimpleDateFormat sdf = new SimpleDateFormat("yyyymmddHHmmss");String fileName = sdf.format(new Date());File filePath = FileSystemView.getFileSystemView().getHomeDirectory();File defaultFile = new File(filePath + File.separator + fileName + ".jpg");jfc.setSelectedFile(defaultFile);int flag = jfc.showSaveDialog(this);if (flag == JFileChooser.APPROVE_OPTION) {File file = jfc.getSelectedFile();String path = file.getPath();//System.out.println(path);// 检查文件后缀,放置用户忘记输入后缀或者输入不正确的后缀if (!(path.endsWith(".jpg") || path.endsWith(".JPG"))) {path += ".jpg";}// 写入文件ImageIO.write(saveImage, "jpg", new File(path));System.exit(0);}}/** 操作窗口*///ToolsWindow 内部类c lass ToolsWindow extends JFrame {private cutScreen parent;//构造函数(cutScreen,int x, int y)x代表鼠标释放位置的横坐标,public ToolsWindow(cutScreen parent, int x, int y) {this.parent = parent;this.init();this.setLocation(x, y);//让窗口里面的组建确定为最佳大小this.pack();this.setVisible(true);}private void init() {//设置布局方式为BorderLayoutthis.setLayout(new BorderLayout());//工具栏JToolBar toolBar = new JToolBar();// 保存按钮JButton saveButton = new JButton("保存");//匿名内部类添加监听saveButton.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) {try {parent.saveImage();} catch (IOException e1) {e1.printStackTrace();}}});toolBar.add(saveButton);// 关闭按钮JButton closeButton = new JButton("关闭");closeButton.addActionListener(new ActionListener() { @Overridepublic void actionPerformed(ActionEvent e) {System.exit(0);}});toolBar.add(closeButton);this.add(toolBar, BorderLayout.CENTER);}}p ublic static void main(String[] args) {EventQueue.invokeLater(new Runnable() {@Overridepublic void run() {try {cutScreen cutScreen = new cutScreen();cutScreen.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}}六、实验结果图6.1 截图图6.2 保存七、个人总结一周的课程设计结束了,刚开始对所要设计的课题完全没有头绪,通过网上查找一些相关资料和同学的帮助,成功设计出能够实现屏幕截图的java程序。

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

课程设计报告设计题目:用Java编的计算器院系班级设计者学号指导教师设计时间前言:通过上课学习了java程序设计的基本原理和模式,这次又以java语言为基本结合其图形应用界面来设计一个包括加、减、乘、除。

还有带括号以及带负号、小数运算的计算程序。

系统功能和使用说明:一.硬件环境:本系统适用于现应用各种类型的计算机,内存容量为128MB以上,不必配备的外部附加设备。

二.软件环境:本系统的设计采用的是JAVA语言,应在JDK 5.0或者其更高版软件环境下本使用。

三.系统流程图:1.下图是本程序的运行后的界面,其标注是此组件在程序中的名字2.系统流程图中各个模块的功能说明:本程序一共包括:构造方法A5i13w(),setup(), windowClosing(), actionPerformed(), appendchar(), countall(), counting(), Iscountnum()和一个windowcloser类。

(1). A5i13w()是构造方法,在程序创建其对象时就调用,初始化次程序的事件的监听机制。

(2). setup()是我定义的方法,是用来初始化程序的图形应用界面,由A5i13w()来调用。

(3). windowClosing()是用来响应用户的关闭功能。

(4). actionPerformed()是用来处理每个事件的响应的方法(5). appendchar()方法的作用是在用户产生事件后向Textshow追加产生此事件的字符串(6).countall()的意义是在用户按“=”号后,从最里层括号向最外层逐层把括号里的内容传递给counting()方法,并负责对括号本身是否符合数学语法要求进行检验。

(7).counting()方法的作用是首先对无括号的数学表达式有关的数学计算符号进行调整,并检验所有的数学符号,如发现错误的数学符号立即在Labelnow中显示出来。

(8).Iscountnum()方法的作用是把“+ - × ÷ % . ( )”算术符号转化相应的数字,便于程序的流程控制。

3.此计算器的基本的计算过程说明:当用户发出计算整个数学表达式的命令后,本计算器首先是对用户向Textshow(即文本域)输入的数学表达式经行括号索检。

如果有一层括号,则对括号的内容进行优先计算。

如果有多层括号,则按先计算里层括号后计算外层括号的原则进行计算。

如果没有发现括号,则只进行一次无括号计算即可。

现在是关于要计算的数学表达式,本计算器也能检验此即将计算的数学表达式是否符合数学语法规则。

如发现符合数学规则的表达式,则在Labelnow中提示用户,并且Labelnow的背景颜色将变成红色。

在计算的开始,计算的过程,计算的出错,计算的成功,我都设计好不同的背景颜色与之对应。

用户要注意Labelnow的提示信息。

在提示信息的对应要求,我认为次程序是不符合要求的。

有几条提示信息只是告诉用户你输入的表达式有问题,并不能很明确的告诉用户他的出错的地方。

这是我作为程序的开发者对错误的分类标准把握的不好造成的。

是的,这是我的作品的不足。

但是,我要说一句话,本程序的重点是计算出合法的数学表达式,而对非法的表达式过于重视是否有一点本末倒置呢?四.程序执行的流程图五.程序的调试出错情况:我在程序的调试过程中最容易发生的错误就是:就是我画红线的句子即是“Exception in thread "AWT-EventQueue-0" ng.NumberFormatException”。

用户输入的数学表达式在我设计的程序转化为数学计算形式是不可行的。

假如是正确的数学表达式,则我的程序在处理数字转化方面是有问题的,为了解决这个问题我花大时间去重写我的程序的核心代码。

终于,我找到了一种捷径——把无括号的数学表达式进行校正合理的转化为在数字和数字之间只有一个运算符。

虽然我就摆平这个问题,但是我为了解程序执行的具体的过程,在DOS中都有关于每一步的提示信息。

六.结论:1.这次课程设计心得是的,JAVA的功能是十分强大的。

借助其强大的平台。

我的程序不仅有不错(至少我这样认为)的图形界面,而且其程序本身的功能也得到很好的发挥。

次程序支持一般的四则运算(包括括号)。

更有状态栏,以便程序在执行过程中向用户反馈一些必要的信息。

2.总结通过这次课程设计,我真的在实践中学到的不仅是课本知识的巩固和提高,而且还有在实践中使我着手解决不少程序设计的细节问题。

它们包括程序算法的设计和图形界面的构建的两大方面。

而我个人认为我越早接触,越多接触,越快解决对我本人缩短次过程有重要的意义。

七.原程序import java.awt.*;import java.awt.event.*;public class A5i13w extends Frame implements ActionListener{private Label Labelshow=new Label("显示区:");private Label Labelsay=new Label("状态:",Label.CENTER);private Label Labelnow=new Label("欢迎使用我,艾全通为你带来的科学计算器",Label.LEFT); private Label Labeltime=new Label("暂且为空");//为以后添加其他的辅助功能private TextField Textshow=new TextField(40);private Panel pan1=new Panel();private Panel pan2=new Panel();private Panel pan3=new Panel();private Button button1=new Button("1");private Button button2=new Button("2");private Button button3=new Button("3");private Button button4=new Button("4");private Button button5=new Button("5");private Button button6=new Button("6");private Button button7=new Button("7");private Button button8=new Button("8");private Button button9=new Button("9");private Button button10=new Button("0");private Button button11=new Button("+");private Button button12=new Button("-");private Button button13=new Button("× ");private Button button14=new Button("÷");private Button button15=new Button("%");private Button button16=new Button("(");private Button button17=new Button(")");private Button button18=new Button("清零");private Button button19=new Button(".");private Button button20=new Button("=");private Font wordFont1 =new Font("TimesRoman",Font.BOLD,13);private Font wordFont2 =new Font("TimesRoman",Font.BOLD,30);public A5i13w() //构造方法来初始化本程序的变量{super("我的科学计算器");setup();button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);button7.addActionListener(this);button8.addActionListener(this);button9.addActionListener(this);button10.addActionListener(this);button11.addActionListener(this);button12.addActionListener(this);button13.addActionListener(this);button14.addActionListener(this);button15.addActionListener(this);button16.addActionListener(this);button17.addActionListener(this);button18.addActionListener(this);button19.addActionListener(this);button20.addActionListener(this);addWindowListener(new windowcloser());setResizable(false); //设置此图形界面是不可以改变大小的pack();setVisible(true);}public void setup() //搭建次程序的图形应用界面{pan1.setLayout(new BorderLayout());Labelshow.setFont(wordFont1);pan1.add("West",Labelshow);Textshow.setFont(wordFont1);pan1.add("Center",Textshow);pan2.setLayout(new GridLayout(4,5,5,6));button1.setFont(wordFont2);pan2.add(button1);button2.setFont(wordFont2);pan2.add(button2);button3.setFont(wordFont2);pan2.add(button3);button4.setFont(wordFont2);pan2.add(button4);button5.setFont(wordFont2);pan2.add(button5);button6.setFont(wordFont2);pan2.add(button6);button7.setFont(wordFont2);pan2.add(button7);button8.setFont(wordFont2);pan2.add(button8);button9.setFont(wordFont2);pan2.add(button9);button10.setFont(wordFont2);pan2.add(button10);button11.setFont(wordFont2);pan2.add(button11);button12.setFont(wordFont2);pan2.add(button12);button13.setFont(wordFont2);pan2.add(button13);button14.setFont(wordFont2);pan2.add(button14);button15.setFont(wordFont2);pan2.add(button15);button16.setFont(wordFont2);pan2.add(button16);button17.setFont(wordFont2);pan2.add(button17);button18.setFont(wordFont2);pan2.add(button18);button19.setFont(wordFont2);pan2.add(button19);button20.setFont(wordFont2);pan2.add(button20);pan3.setLayout(new FlowLayout(FlowLayout.CENTER,2,2)); Labelsay.setFont(wordFont1);Labelsay.setBackground(Color.blue );pan3.add(Labelsay);Labelnow.setFont(wordFont1);Labelnow.setBackground(Color.gray);pan3.add(Labelnow);Labeltime.setBackground(Color.gray);Labeltime.setFont(wordFont1);pan3.add(Labeltime);setLayout(new BorderLayout( ) );add("North",pan1);add("Center",pan2);add("South",pan3);}public class windowcloser extends WindowAdapter //通过构建类部类来使本程序可通过图形关闭{public void windowClosing(WindowEvent w){ System.exit(0); }}public void actionPerformed(ActionEvent e) //事件响应的处理{if(e.getSource()==button18){ Textshow.setEditable(true);Textshow.setText("");Labelnow.setBackground(Color.green);Labelnow.setText("请按标准的数学形式输入数字!"); }else{if(e.getSource()==button20){String QU=new String(Textshow.getText( ) );System.out.println();System.out.println(); //在DOS中显示计算过程前,先空两行。

相关文档
最新文档