JAVA实现温度计的显示.doc_第1页
JAVA实现温度计的显示.doc_第2页
JAVA实现温度计的显示.doc_第3页
JAVA实现温度计的显示.doc_第4页
JAVA实现温度计的显示.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书课题名称: JAVA实现温度计的显示 学生学号: 专业班级: 学生姓名: 学生成绩: 指导教师: 课题工作时间: 至 一、课程设计任务的基本要求:(1)课程设计目的:1、学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。2、熟悉掌握Java程序设计语言的基础内容,了解用户图形界面设计知识。3、通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。(2)课程设计总体要求:1、设计部分问题描述:利用JAVA编程语言实现一个温度计,要求以摄氏、华氏以及开尔文温度分别显示。如图1,以80为例,执行过程中输入参数80,显示如下效果。图12、设计要求:三种温度标准的转换方法将摄氏度转成华氏度:将摄氏度直接乘以9,除以5,再加上32;将摄氏度转成开尔文度0K:将摄氏度加上27315。三种情况:温度过高,超过上限,显示too hot;温度过低,低于下限,显示too cold;在上下限之间以红色显示温度。如图2。图2课程设计报告第一章 课程设计目的与要求1.1 课程设计目的1、学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。2、熟悉掌握Java程序设计语言的基础内容,了解用户图形界面设计知识。3、 通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。1.2 课程设计的实验环境1、安装JDK,安装过程中可以自定义安装目录为D:javajdk1.5.0;2、安装完成后,安装完成后,右击“我的电脑”,点击“属性”;3、选择“高级”选项卡,点击“环境变量”;4、在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH,若已存在则点击“编辑”,不存在则点击“新建”;5、三个环境变量的含义及配置方法:l JAVA_HOME:该环境变量的值就是java所在的目录,一些Java版的软件和一些Java的工具需要用到该变量。它指明JDK安装路径,就是刚才安装时所选择的路径D:javajdk1.5.0,此路径下包括lib、bin、jre等文件夹(此变量最好设置,因为以后运行tomcat、eclipse等都需要依此变量);l PATH:指定一个路径列表,用于搜索可执行文件的。执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找PATH中的每一个路径,直到找到。或者找完PATH中的路径也不能找到,则报错。Java的编译命令(javac),执行命令(java)和一些工具命令(javadoc,jdb等)都在其安装路径下的bin目录中。它使得系统可以在任何路径下识别java命令,设为: %JAVA_HOME%bin;%JAVA_HOME%jrebinl CLASSPATH:指定一个路径列表,用于搜索Java编译或者运行时需要用到的类,在CLASSPATH列表中除了可以包含路径外,还可以包含.jar文件。为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar(要加.表示当前路径) %JAVA_HOME%就是引用前面指定的JAVA_HOME;6、“开始”-“运行”-键入“cmd”;7、键入命令“java -version”,“java”,“javac”几个命令,出现画面,说明环境变量配置成功;1.3 课程设计的要求三种温度标准的转换方法将摄氏度转成华氏度:将摄氏度直接乘以9,除以5,再加上32;将摄氏度转成开尔文度0K:将摄氏度加上27315。三种情况:温度过高,超过上限,显示too hot;温度过低,低于下限,显示too cold;在上下限之间以红色显示温度。如图第二章 课程设计内容 2.1 功能分析该程序使用JAVA编程语言实现一个温度计。输入温度后运行该程序,会显示温度计及输入的温度,并将温度以红色水银柱的形式显示出来,通过按下界面下方的三个按钮,可以将以摄氏、华氏以及开尔文温度分别显示。该温度计所能现实的温度范围为-20 - 100。若温度过高,超过上限,显示too hot;温度过低,低于下限,显示too cold;在上下限之间以红色显示温度2.1 类和接口说明一、类的继承1、继承继承是面向对象编程技术的一块基石,它允许创建分等级层次的类。运用继承,可以创建一个通用类定义一系列一般特性。通用类可以被更具体的类继承。Object类是Java中所有类的父类,也就是说Java中的类都直接或间接由Object类派生而来。 2、继承的语法extends关键字用于继承类。声明一个继承父类的类的通常形式如下:class 子类名 extends 父类名 /类体 3、super关键字super关键字用来解决如何直接访问或初始化从父类继承来的属性。super有两种通用形式:调用父类的构造函数、用来访问被子类的成员覆盖的父类成员。super()必须是在子类构造函数中的第一个执行语句。二、接口接口是为支持动态方法解决设计的, Java语言通过接口实现了类间多重继承功能。它提供同一的接口,而一个方法也不实现,等待某类或某几个类去实现它的方法。它提供一些常量,实现它的类可以共享这些常量。用类实现接口中的方法:形式:访问类型 class 类名 implements 接口名1,接口名2,类自身的方法和属性;实现接口的抽象方法;要求:2 接口抽象方法的默认修饰符为public,在实现接口时必须用public关键字在方法头上说明。3 一个类在实现某接口的抽象方法时,必须使用完全相同的方法头。4 如果一个类实现多接口,用逗号隔开。5 如果一个类实现了声明相同方法的两个接口,则被多个接口共用。6 类在实现接口时可以定义它自己的附加成员,这也是最常见的形式。如果一个类不完全实现接口的所有方法,必须把类定义成abstract类型的类,任何继承该类的子类必须实现该接口。2.2 界面设计(附上具体代码)1、窗口设计类继承Frame,创建一个窗口Panel使用默认的布局管理器创建新面板。所有面板的默认布局管理器都是 FlowLayout 类用法 【类名】panel= new 【类名】Frame 是带有标题和边界的顶层窗口。窗口坐标从左上角开始,左上角的坐标位置为(0,0)代码setSize(350,750); X设置宽度,Y设置高度setVisible(true);设置窗口可见性setLayout(null); 设置Panel的布局管理器为空3、按钮的设置举例设置按钮如下:private Button kalveinButton; centigradeButton=new Button(centigrade); centigradeButton.addActionListener(this); centigradeButton.setBounds(50,620,60,20); centigradeButton.setBackground(Color.lightGray); centigradeButton.setForeground(Color.black); add(centigradeButton); 3、窗口关闭设置public boolean handleEvent(Event e) switch (e.id) case Event.WINDOW_DESTROY: / 窗口关闭 System.exit(0); / 系统退出,终止程序 return true;default: return false;4、为按钮添加动作public void actionPerformed(ActionEvent e) if(e.getSource()=centigradeButton) centigradeButton.disable(); fahrenheitButton.enable(); kalveinButton.enable(); n=0; repaint(); if(e.getSource()=fahrenheitButton) centigradeButton.enable(); fahrenheitButton.disable(); kalveinButton.enable(); n=1; repaint(); if(e.getSource()=kalveinButton) centigradeButton.enable(); fahrenheitButton.enable(); kalveinButton.disable(); n=2; repaint(); 5、利用画图工具画矩形及填充 g.setColor(new Color(255,0,0);g.fillRect(175,(int)(570-(temp +20)*4),8,(int)(temp +20)*4 ); g.setColor(Color.black);g.drawRect(175,90,8,480);for(i=0;i=480;i=i+80)g.setColor(Color.black); g.drawRect(172,90+i,14,1);6、图形界面的重绘所有代码如下:import java.awt.*;import java.awt.event.*;public class a public static void main(String args) double temp; /输入的温度 try Double Te=Double.valueOf(args0);/将输入的保存在args内的字符转换成常用的数字 temp=Te.doubleValue();test panel=new test(temp); catch(Exception e) class test extends Frame implements ActionListener private Button centigradeButton;/this is for centigrade method.it will display the temperature private Button kalveinButton; private Button fahrenheitButton;double temp;int n;public test(double tem )temp=tem; setSize(350,750); setVisible(true); setLayout(null); centigradeButton=new Button(centigrade); centigradeButton.addActionListener(this); centigradeButton.setBounds(50,620,60,20); centigradeButton.setBackground(Color.lightGray); centigradeButton.setForeground(Color.black); add(centigradeButton); fahrenheitButton=new Button(fahrenheit); fahrenheitButton.addActionListener(this); fahrenheitButton.setBounds(145,620,60,20); fahrenheitButton.setBackground(Color.lightGray); fahrenheitButton.setForeground(Color.black); add(fahrenheitButton); kalveinButton=new Button(kalvein); kalveinButton.addActionListener(this); kalveinButton.setBounds(230,620,60,20); kalveinButton.setBackground(Color.lightGray); kalveinButton.setForeground(Color.black); add(kalveinButton); public boolean handleEvent(Event e) switch (e.id) case Event.WINDOW_DESTROY: / 窗口关闭 System.exit(0); / 系统退出,终止程序 return true;default: return false;public void actionPerformed(ActionEvent e) if(e.getSource()=centigradeButton) centigradeButton.disable(); fahrenheitButton.enable(); kalveinButton.enable(); n=0; repaint(); if(e.getSource()=fahrenheitButton) centigradeButton.enable(); fahrenheitButton.disable(); kalveinButton.enable(); n=1; repaint(); if(e.getSource()=kalveinButton) centigradeButton.enable(); fahrenheitButton.enable(); kalveinButton.disable(); n=2; repaint(); public void paint(Graphics g) int i,sum=95; super.paint(g);/ 定义画图方法 setBackground(Color.white); if(temp100) Font fnt20 = new Font(宋体,Font.PLAIN,20); g.setFont(fnt20); g.setColor(Color.red);g.drawString(Too hot,70,130); else g.setColor(new Color(255,0,0);g.fillRect(175,(int)(570-(temp +20)*4),8,(int)(temp +20)*4 ); g.setColor(Color.black);g.drawRect(175,90,8,480);for(i=0;i=-20;i=i-20)g.drawString(String.valueOf(i),200,sum);sum=sum+80;g.drawString(String.valueOf(temp),100,150);g.drawString( ,127,150);Font fnt20 = new Font(宋体,Font.PLAIN,20); g.setFont(fnt20); g.setColor(Color.black);g.drawString(,150,100);System.out.print(temp);if(n=1)setTitle(fahrenheit); setTitle(temp:+Integer.toString(int)temp*9/5)+);Font fnt12 = new Font(宋体,Font.PLAIN,12);g.setFont(fnt12); g.setColor(Color.black);for(i=100;i=-20;i=i-20)g.drawString(String.valueOf(i*9/5+32),200,sum);sum=sum+80;g.drawString(String.valueOf(temp*9/5+32),100,150);g.drawString( ,127,150);Font fnt20 = new Font(宋体,Font.PLAIN,20); g.setFont(fnt20); g.setColor(Color.black);g.drawString(,150,100);if(n=2) setTitle(k

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论