java报告.docx
- 文档编号:4344878
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:22
- 大小:154.38KB
java报告.docx
《java报告.docx》由会员分享,可在线阅读,更多相关《java报告.docx(22页珍藏版)》请在冰豆网上搜索。
java报告
摘要
Java技术已经走了很长一段路。
最初是为数字电视服务的,后来应用到了桌面和WEB站点,以及我们的服务器上。
现在它转了一个圈又回到了嵌入式设备。
在未来的几年,放在我们的口袋和系在皮带上的小的无线设备如现在的手机,PDA和手持移动设备将使Java技术更加流行。
近年来,随着一批发达国家先进职业教育理念的引进,高职教育教学改革的实践与理论得到了不断发展。
为了激发学生的学习兴趣,提高教学质量,该课程以项目为导向设计课程教学目标、教学内容、教学方法、和考核模式为主要内容。
java是一种高级编程语言,是编程的基本工具,是为软件开发,网叶制作等与计算机编程有关专业的基础课程!
数制是人们利用符号进行计数的科学方法。
数制有很多种,在计算机中常用的数制有:
十进制,二进制和十六进制。
数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
计算机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。
通过课程设计,使学生巩固所学知识、培养学生动手能力。
学生用Java语言设计一个完整的应用程序,综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。
通过实训能够结合实例进一步理解面向对象程序设计的基本概念,掌握程序设计的基本方法和技巧,灵活的使用包,进一步的理解接口,熟练的掌握在接口中对事件的实现。
深入理解和灵活运用面向对象程序设计的基本特性,培养良好的程序设计风格,提高抽象思维、逻辑思维的能力。
随着java语言的快速发展,不断地深入人心,java给人们的生活带来很多方便。
各种用java实现的小游戏,绘图工具,以及各种管理系统在现实生活中普及。
本次课程设计题目为利用java语言编写一个进制转换器,实现各进制数的相互转换。
此程序利用Application来实现,通过自定一个子类“进制转换.class”依次继承JFrame,实现两个接口ActionListener和ItemListener。
接口ItemListener用来实现对“进制转换器的界面”内容的出;接口ActionListener通过条件语句来实现进制转换的条件,由此来完成各进制的转换,使程序在使用过程中具有选择性。
关键字:
Java技术、快速发展、进制转
第一章绪论
1.1设计背景:
随着科学技术的不断进步,java语言的应用越来越广泛,利用java开发的小型计算器以及进制转换器在计算领域给人们带来了极大的便利。
java专业是计算机与管理相互结合的实用型专业,主要培养既懂经济管理,又懂通信技术,掌握现代信息技术理论与方法,具有较强的计算机应用能力和管理信息系统分析与设计能力的高级技术人才。
现代社会是一个信息高度发达的社会,无论是企业、工厂,还是机关、学校,由于与外界的联系越来越广泛,所获得的信息量也会越来越多,数据计算的工具在当今社会需求量也是与日俱增的。
各大商场销售的大小小的数码产品里面都多多少少会包含一两个简单的计算器功能或单位转换的程序功能。
1.2设计目的:
在许多常规学科的日常教学中,我们不难发现这样一个现象,不少学生的思维常常处于混乱的状态。
写起作文来前言不搭后语,解起数学题来步骤混乱,这些都是缺乏思维训练的结果。
程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。
即使一个简单的程序,从任务分析、确定算法、界面布局、编写代码到调试运行,整个过程学生都需要有条理地构思,这中间有猜测设想、判断推理的抽象思维训练,也有分析问题、解决问题、预测目标等能力的培养。
有利于与其他学科的整合
在程序设计中,我们可以解决其它学科有关问题,也利用其它课程的有关知识来解决信息技术中比较抽象很难理解的知识。
在信息技术课中整合其它学科的知识,发挥信息技术的优势。
例如,在编写“一元二次方程求解”程序时,就复习了数学的相关知识。
而在讲解逻辑运算的知识时,我们又可以利用物理中的电路知识进行讲解,起到意想不到的效果。
有利于治学态度的培养。
程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。
因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。
这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼
数制是人们利用符号进行计数的科学方法。
数制有很多种,在计算机中常用的数制有:
十进制,二进制和十六进制。
数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。
计算机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。
通过课程设计,使学生巩固所学知识、培养学生动手能力。
学生用Java语言设计一个完整的应用程序,综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。
通过实训能够结合实例进一步理解面向对象程序设计的基本概念,掌握程序设计的基本方法和技巧,灵活的使用包,进一步的理解接口,熟练的掌握在接口中对事件的实现。
深入理解和灵活运用面向对象程序设计的基本特性,培养良好的程序设计风格,提高抽象思维、逻辑思维的能力。
1.3软件定义:
进制转换器:
通过Application程序来实现二进制、八进制、十进制、十六进制的相互转换。
用一个自定义子类来继承父类,并实现两个分别实现进制转换器界面布局和控制进制转换条件的接口。
用户在进制转换器界面选择进制转换条件和输入将要转换的数据,然后按“转换”按钮,即得出数据进制转换后的结果。
1.4开发环境:
JDK是Java开发工具包(JavaDevelopmentKit)的缩写。
它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境。
即编写Java程序必须的有JDK,它提供了编译Java和运行Java程序的环境。
JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上的。
它是一组API,也可以说是一些javaClass。
第二章问题定义(或系统分析)
2.1功能需求:
1.当前的java程序一般都是用Application程序来实现,此类程序便于运行,便于阅读。
此进制转换器是通过系统的包和自定义得子类来实现程序的运行。
2.进制转换:
进制转换器界面为进制转换条件、要转换的数据、转换的结果和在“转换”按钮组成。
3.在DOS环境下运行批处理文件,在屏幕出现批处理文件后即批处理文件运行无误。
4.将原程序编辑成java程序,并在DOS环境下对原程序进行编辑,编辑无误后运行程序。
随后出现转换器界面,在界面选择转换条件,同时输入要转换的数据,最后按“转换”按钮,结果文本框将出现相应的转换结果。
5.附加说明:
该程序将来完善的功能有:
可以在原程序中添加一些功能类是转换器能够对一些常用单位进行转换;可以把计算器的相应原理添加到程序中,可以完成对转换后的数据进行运算。
2.2性能需求
1.具有较强的实用性。
2.易于理解和应用。
3.对程序的配置要求不高,能广泛应用。
第三章总体设计与详细设计
3.1总体设计
1.系统模块如下:
(1)建立子类publicclass进制转换,通过子类继承父类JFrame,实现接口ActionListener,ItemListener。
子类中定义变量名为a,类型为JComboBox,作为实现进制转换转换器界面;定义变量zhuanhuan,xianshi,类型为JTextField,用来实现进制的转换,以及数据的显示;定义一个控制转换的按钮JButtonanniu;定义一个整形变量intzz,完成选择进制转换条件。
定义Containercontainer=getContentPane(),使显示的转换条件成下拉列表状态。
(2)定义一个构造方法public进制转换(),通过a的直接调用来完成禁止转器界面的布局,即显示格式为“X进制转换为X进制”。
(3)建立主函数publicvoiditemStateChanged(ItemEventevent),用条件语句if实现条件选择
(4)定义publicvoidactionPerformed(ActionEvente)构造方法,此方法用来实现系统对用户输入数据的计算进制转换。
2.数据方法结构
publicclass进制转换extendsJFrameimplementsActionListener,ItemListene
{
container.setLayout(newFlowLayout());
a=newJComboBox();
container.setLayout(newFlowLayout());
a=newJComboBox();
publicstaticvoidmain(String[]arge)
{进制转换s=new进制转换();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoiditemStateChanged(ItemEventevent)
publicvoidactionPerformed(ActionEvente)
publicintj1(Stringzhuanhuan,Stringa1,inta3)
publicintj2()
3.总体流程图如下:
3.2详细设计
1.publicclass进制转换extendsJFrameimplementsActionListener,ItemListener流程图如下:
2.public进制转换()流程图如下:
3.publicstaticvoidmain(String[]arge)流程图如下:
4.publicvoiditemStateChanged(ItemEventevent)流程图如下:
5.publicvoidactionPerformed(ActionEvente)(包括publicintj1(Stringzhuanhuan,Stringa1,inta3)和publicintj2())流程图如下:
第四章编码实现
1.用import导入程序的主类,java.awt包中提供了GUI设计所使用的类和接口。
用java.awt包提供了基本的java程序的GUI设计工具,用importjavax.swing使包内构件多元化。
importjavax.swing.JApplet;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;/窗口(Frame)/
importjavax.swing.JTextField;
importjava.awt.Container;/容器—Container,由Component类衍生而来,用来管理构件。
/
importjava.awt.FlowLayout;/FlowLayout布局管理器/
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjava.nio.FloatBuffer;
2.建立子类publicclass进制转换,通过子类继承父类JFrame,实现接口ActionListener,ItemListener。
子类中定义变量名为a,类型为JComboBox,作为实现进制转换转换器界面;定义变量zhuanhuan,xianshi,类型为JTextField,用来实现进制的转换,以及数据的显示;定义一个控制转换的按钮JButtonanniu;定义一个整形变量intzz,完成累加功能来选择进制转换条件。
定义Containercontainer=getContentPane(),使显示的转换条件成下拉列表状态。
publicclass进制转换extendsJFrameimplementsActionListener,ItemListener{
JComboBoxa;
JTextFieldzhuanhuan,xianshi;
JButtonanniu;
Containercontainer=getContentPane();
intzz=0;
}
3.定义一个构造方法public进制转换(),通过a的直接调用来完成禁止转器界面的布局,即显示格式为“X进制转换为X进制”。
public进制转换(){
//System.out.println(s.length());
container.setLayout(newFlowLayout());
a=newJComboBox();
a.addItem("10进制转换为2进制");
a.addItem("10进制转换为8进制");
a.addItem("10进制转换为16进制");
a.addItem("2进制转换为8进制");
a.addItem("2进制转换为10进制");
a.addItem("2进制转换为16进制");
a.addItem("8进制转换为2进制");
a.addItem("8进制转换为10进制");
a.addItem("8进制转换为16进制");
a.addItem("16进制转换为2进制");
a.addItem("16进制转换为8进制");
a.addItem("16进制转换为10进制");
container.add(a);
zhuanhuan=newJTextField(10);
container.add(zhuanhuan);
xianshi=newJTextField(15);
xianshi.setEditable(false);
container.add(xianshi);
anniu=newJButton("转换");
container.add(anniu);
anniu.addActionListener(this);
a.addItemListener(this);
setSize(190,150);
setVisible(true);
}
4.建立主函数publicstaticvoidmain(String[]arge),在主函数里定义构造方法publicvoiditemStateChanged(ItemEventevent),用条件语句if实现条件选择,如果条件为“X进制转换为X进制”,则产生一个对应zz的值。
publicstaticvoidmain(String[]arge){
进制转换s=new进制转换();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoiditemStateChanged(ItemEventevent){
if(event.getStateChange()==ItemEvent.SELECTED){
if(a.getSelectedItem().equals("10进制转换为2进制"))
zz=1;
if(a.getSelectedItem().equals("10进制转换为8进制"))
zz=2;
if(a.getSelectedItem().equals("10进制转换为16进制"))
zz=3;
if(a.getSelectedItem().equals("2进制转换为8进制"))
zz=4;
if(a.getSelectedItem().equals("2进制转换为10进制"))
zz=5;
if(a.getSelectedItem().equals("2进制转换为16进制"))
zz=6;
if(a.getSelectedItem().equals("8进制转换为2进制"))
zz=7;
if(a.getSelectedItem().equals("8进制转换为10进制"))
zz=8;
if(a.getSelectedItem().equals("8进制转换为16进制"))
zz=9;
if(a.getSelectedItem().equals("16进制转换为2进制"))
zz=10;
if(a.getSelectedItem().equals("16进制转换为8进制"))
zz=11;
if(a.getSelectedItem().equals("16进制转换为10进制"))
zz=12;
}
5.定义publicvoidactionPerformed(ActionEvente)构造方法,此方法用来实现系统对用户输入数据的计算进制转换,用if语句选择publicvoiditemStateChanged(ItemEventevent)中产生的zz值对应的进制转换。
publicvoidactionPerformed(ActionEvente){
if(zz==1)
xianshi.setText(Integer.toBinaryString(Integer.parseInt(zhuanhuan
.getText())));
elseif(zz==2)
xianshi.setText(Integer.toOctalString(Integer.parseInt(zhuanhuan
.getText())));
elseif(zz==3)
xianshi.setText(Integer.toHexString(Integer.parseInt(zhuanhuan.getText())));
elseif(zz==4){
inta=j1(zhuanhuan.getText(),"[0-1]+",2);
xianshi.setText(Integer.toOctalString(a));
}elseif(zz==5){
j1(zhuanhuan.getText(),"[0-1]+",2);
}elseif(zz==6){
inta=j1(zhuanhuan.getText(),"[0-1]+",2);
xianshi.setText(Integer.toHexString(a));
}elseif(zz==7){
inta=j1(zhuanhuan.getText(),"[0-7]+",8);
xianshi.setText(Integer.toBinaryString(a));
}elseif(zz==8){
j1(zhuanhuan.getText(),"[0-7]+",8);
}elseif(zz==9){
inta=j1(zhuanhuan.getText(),"[0-7]+",8);
xianshi.setText(Integer.toHexString(a));
}elseif(zz==10){
inta=j2();
xianshi.setText(Integer.toBinaryString(a));
}elseif(zz==11){
inta=j2();
xianshi.setText(Integer.toOctalString(a));
}elseif(zz==12){
j2();}}
publicintj1(Stringzhuanhuan,Stringa1,inta3){
if(zhuanhuan.matches(a1)){
intbb,gg=0,cc=1;
Strings=zhuanhuan;
StringBufferss=newStringBuffer(s);
ss.reverse();
for(inti=0;i Stringjj=ss.charAt(i)+""; bb=Integer.parseInt(jj); if(i==0) gg+=bb*cc; else gg+=bb*(cc*=a3); } xianshi.setText(gg+""); returngg; } return0; } publicintj2(){ if(zhuanhuan.getText().matches("[0-7,a,b,c,d,e,f]+")){ intbb,gg=0,cc=1; Strings=zhuanhuan.getText(); StringBufferss=newStringBuffer(s); ss.reverse(); for(inti=0;i Stringjj=ss.charAt(i)+""; System.out.println(jj); if(jj.equals("a")) jj="10"; if(jj.equals("b")) jj="11"; if(jj.equals("c")) jj="12"; if(jj.equals("d")) jj="13"; if(jj.equals("e")) jj="14"; if(jj.equals("f")) jj="15"; System.out.println(jj); bb=Integer.parseInt(jj); if(i==0) gg+=bb*cc; else gg+=bb*(cc*=16); } xianshi.setText(gg+""); returngg; } return0;}} 第五章调试与测试 5.1测试结果 (1)建立名为gg.bat的批处理文件并运行批处理文件.运行无误后对该程序进行编译,即在DOS环境下输入“javac进制转换.java”;编译无误后运行程序,即输入“java进制转换”回车之后显示出进制转换器界面。 运行过程如下: (2)十进制数56转换成其它进制数,转换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 报告