java计算器程序源代码

java计算器程序源代码
java计算器程序源代码

Java 計算器源代碼—初級

這是我在04年剛開始接觸java時,跟着一本書學習GUI和事件而寫的,思想還是Vb和Pb的,隻不過是語言不一樣暸.整理以前文件的時候,髮現對于初學者還是有幫助的,就把它放在網上.

這個小程序可是我用記事本和命令行編的,當時侯捷先生的書上建議初學者最簡單的IDE還是這樣的,這對于學Java非常的好.現在在看這個程序對自己的縮進和初步的糢塊設計,還是有些訢慰的.

這是幾個截圖:

启动画面

一些簡單的錯誤處理

一個對話框的幫助文件

我希望如果妳在看這個例子的時候,窗體佈侷,簡單的事件處理,資源文件的定位等方法對妳有所幫助,這裏的所有東西都是簡單的命令行和記事本的成果。

源代碼中,我有暸註釋還是比較詳細的,如果有什么建議或是補充,我真誠的希望妳能提齣來,這樣我纔能夠有所提高,謝謝!!

以下是源碼文件壓縮和jar文檔:

對于jar文檔的執行請妳參攷:Java 程序無Shell調用窗口

由于blog不支持上传压缩文件,我也只能把代码清单贴出来,如果需要压缩的源代码,给我留言。

主文件:

package com.blogchina.qb2049.counter;

import javax.swing.*;

public class CounterDriv

{

public static void main(String[] arg)

{

String str="feiji.gif";

Counter mycounter = new Counter();

SplashWindow wel=new SplashWindow(str,mycounter);

}

}

欢迎界面:

package com.blogchina.qb2049.counter;

//欢迎界面的代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import https://www.360docs.net/doc/613462780.html,.URL;

class SplashWindow extends JWindow

{

public SplashWindow(String filename,Frame f)

{

JPanel soth = new JPanel();

JRadioButton quck=new JRadioButton("下次不再显示");

soth.setLayout(new BorderLayout());

JLabel infor=new JLabel("欢迎使用小型计算器",JLabel.CENTER);

JLabel quit =new JLabel("点击鼠标退出",JLabel.RIGHT);

URL icoURL=SplashWindow.class.getResource("/image/"+filenam e);

JLabel welpic =new JLabel (new ImageIcon(icoURL));

getContentPane().add(infor,BorderLayout.NORTH);

getContentPane().add(welpic, BorderLayout.CENTER);

soth.add(quit,BorderLayout.EAST);

soth.add(quck,BorderLayout.WEST);

getContentPane().add(soth,BorderLayout.SOUTH);

//pack()使得Swing把窗口调整到适当的大小

pack();

//显示位置设置

Dimension screenSize = Toolkit.getDefaultToolkit().getScree nSize();

Dimension labelSize=welpic.getPreferredSize();

setLocation((screenSize.width-labelSize.width)/2,(screenSiz e.height- labelSize.height)/2);

//鼠标事件点击退出

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

/*为了解决这个问题,Swing设计者赋予我们安全地把Runnable对象加入UI事件队列的能力。在本例中,

我们用可运行对象closerRunner完成最关键的工作。我们把可运行对象传入 SwingUtilities.invoke AndWait()静态方法,然后wingUtilities.invokeAndWait()进行所有未完成的 UI操作,并执行传递给该方法的可运行对象closerRunner的run方法。通过运用一个独立的线程负责欢

迎屏幕的关闭操作,应用担负起了显示和关闭欢迎屏幕之间的所有操作。*/

//显示停止的时间,运用线程

final int pause=10000;

//线程启动时,关闭界面

final Runnable closeRunner =new Runnable()

{

public void run()

{

setVisible(false);

dispose();

}

};

//线程参数的设置

/* 由于Swing是非线程安全的,除非代码在事件分派线程上执行,否则它就不应该影响任何UI组件的状

态。所谓事件分派线程,就是Swing中负责绘图和事件处理的线程。*/ Runnable waitRunner =new Runnable()

{

public void run()

{

try{

Thread.sleep(pause);

SwingUtilities.invokeAndWait(closeRunner);

}catch(Exception e)

{

e.printStackTrace();

}

}

};

setVisible(true);

//定义线程

Thread splashThread =new Thread(waitRunner,"splashThread"); //启动线程

splashThread.start();

}

}

计算器的界面:

package com.blogchina.qb2049.counter;

//Counter.java

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

public class Counter extends JFrame implements ActionListener {

Counter frame;

String left="";

String right="";

String mid="";

char flag='\0';

boolean pit=true;

JTextField answer=new JTextField("0.",2);

Container counterpanel=this.getContentPane(); JPanel panel = new JPanel();

JPanel pane=new JPanel();

//面板上的控制按钮

JButton clear = new JButton("CN");

JButton l1=new JButton("1");

JButton l2=new JButton("2");

JButton l3=new JButton("3");

JButton l4=new JButton("4");

JButton l5=new JButton("5");

JButton l6=new JButton("6");

JButton l7=new JButton("7");

JButton l8=new JButton("8");

JButton l9= new JButton("9");

JButton l0= new JButton("0");

JButton sum= new JButton("+");

JButton sub= new JButton("-");

JButton drv=new JButton("÷");

JButton tim=new JButton("×");

JButton sqr=new JButton("SQR");

JButton back=new JButton("←");

JButton point=new JButton(".");

JButton ad=new JButton("=");

JButton cos= new JButton("cos()");

JButton sin =new JButton("sin()");

JMenu jmenufile =new JMenu();

JMenu jmenuhelp = new JMenu();

JMenuBar bar = new JMenuBar();

JMenuItem jmenufile_quit = new JMenuItem();

JMenuItem jmenufile_copy =new JMenuItem();

JMenuItem jmenufile_past =new JMenuItem();

JMenuItem jmenuhelp_help =new JMenuItem();

JMenuItem jmenuhelp_about =new JMenuItem();

public Counter()

{

this.setTitle("小型计算器");

panel.setLayout(new BorderLayout());

pane.setLayout(new GridLayout(5,4));

clear.addActionListener(this);

l1.addActionListener(this);

l2.addActionListener(this);

l3.addActionListener(this);

l4.addActionListener(this);

l5.addActionListener(this);

l6.addActionListener(this);

l7.addActionListener(this);

l8.addActionListener(this);

l9.addActionListener(this);

l0.addActionListener(this);

sum.addActionListener(this);

sub.addActionListener(this);

point.addActionListener(this);

ad.addActionListener(this);

cos.addActionListener(this);

sin.addActionListener(this);

drv.addActionListener(this);

tim.addActionListener(this);

back.addActionListener(this);

sqr.addActionListener(this);

pane.add(l1);

pane.add(l2);

pane.add(l3);

pane.add(sum);

pane.add(l4);

pane.add(l5);

pane.add(l6);

pane.add(sub);

pane.add(l7);

pane.add(l8);

pane.add(l9);

pane.add(tim);

pane.add(l0);

pane.add(point);

pane.add(ad);

pane.add(drv);

pane.add(cos);

pane.add(sin);

pane.add(sqr);

pane.add(back);

panel.add(clear,BorderLayout.NORTH);

panel.add(pane,BorderLayout.CENTER);

answer.setHorizontalAlignment(JTextField.RIGHT );

answer.setColumns(2);

answer.setEditable(false);

answer.setBackground(Color.white);

Font f=new Font(null,Font.BOLD,18);

answer.setFont(f);

counterpanel.add(answer,BorderLayout.NORTH);

counterpanel.add(panel,BorderLayout.CENTER);

this.setSize(300,320);

Dimension framesize = this.getSize();

Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize ();

this.setLocation((screensize.width-framesize.width)/2,(screensi ze.height

- framesize.height)/2);

jmenufile.setText("编辑");

jmenufile_copy.setText("复制");

jmenufile_past.setText("粘贴");

jmenufile_quit.setText("退出");

jmenufile_quit.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e )

{

Counter.this.dispose();

System.exit(0);

}

});

jmenufile.add(jmenufile_copy);

jmenufile.add(jmenufile_past);

jmenufile.add(jmenufile_quit);

jmenuhelp.setText("帮助");

jmenuhelp_help.setText("帮助主题");

jmenuhelp_about.setText("关于本软件");

jmenuhelp_about.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e )

{

Counter_About about =new Counter_About(frame); }

});

jmenuhelp.add(jmenuhelp_help);

jmenuhelp.add(jmenuhelp_about);

bar.add(jmenufile);

bar.add(jmenuhelp);

this.setJMenuBar(bar) ;

WindowListener bw =new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

Counter.this.dispose();

System.exit(0);

}

};

this.addWindowListener(bw);

this.setVisible(true);

}

//进行算术的运算

public void actionPerformed(ActionEvent e ) {

if(e.getSource()==l1)

{

mid=mid+"1";

answer.setText(mid);

}

if(e.getSource()==l2)

{

mid=mid+"2";

answer.setText(mid);

}

if(e.getSource()==l3)

{

mid=mid+"3";

answer.setText(mid);

}

if(e.getSource()==l4)

{

mid=mid+"4";

answer.setText(mid);

}

if(e.getSource()==l5)

{

mid=mid+"5";

answer.setText(mid);

}

if(e.getSource()==l6)

{

mid=mid+"6";

answer.setText(mid);

}

if(e.getSource()==l7)

{

mid=mid+"7";

answer.setText(mid);

}

if(e.getSource()==l8)

{

mid=mid+"8";

answer.setText(mid);

}

if(e.getSource()==l9)

{

mid=mid+"9";

answer.setText(mid);

}

if(e.getSource()==l0)

{

mid=mid+"0";

answer.setText(mid);

}

if(e.getSource()==point)

{

String chk=answer.getText();

if(!chk.equals("0."))

{

if(pit && answer.getText().length()!=0)

{

mid=mid+".";

answer.setText(mid);

pit=false;

}

}

}

if(e.getSource()==back)

{

if(answer.getText().length()!=0)

{

int len=answer.getText().length();

mid=answer.getText().substring(0,len-1); answer.setText(mid);

}

int g=mid.indexOf(".");

if(g==-1)

{

pit=true;

}

}

if(e.getSource()==clear)

{

mid="";

answer.setText("0.");

}

if(e.getSource()==sum)

{

flag='+';

pit=true;

left=answer.getText();

mid="";

answer.setText("");

}

if(e.getSource()==sub)

{

String chk=answer.getText().trim(); if(chk.equals("")||chk.equals("0.")) {

mid=mid+"-";

answer.setText(mid);

}

else

{

flag='-';

pit=true;

left=answer.getText();

mid="";

answer.setText("");

}

}

if(e.getSource()==tim)

{

flag='×';

pit=true;

left=answer.getText();

mid="";

answer.setText("");

}

if(e.getSource()==drv)

{

flag='÷';

pit=true;

left=answer.getText();

mid="";

answer.setText("");

}

try{

if(e.getSource()==sqr)

{

double res1=0;

if(!answer.getText().equals(""))

{

double sq=Double.parseDouble(answer.getText()); if(sq>=0)

{

res1=Math.sqrt(sq);

answer.setText(String.valueOf(res1));

}

else

{

answer.setText("0");

}

}

}

if(e.getSource()==cos)

{

if(!answer.getText().equals(""))

{

double res2=Math.cos(Double.parseDouble(answer.getTe xt()));

answer.setText(String.valueOf(res2));

}

}

if(e.getSource()==sin)

{

if(!answer.getText().equals(""))

{

double res2=Math.sin(Double.parseDouble(answer.getTe xt()));

answer.setText(String.valueOf(res2));

}

}

}catch(NumberFormatException ex)

{

System.out.println("出现了对非数字计算问题!");

}

if(e.getSource()==ad)

{

double res=0;

mid="";

if(!left.equals("")&&!answer.getText().equals(""))

{

try{

switch(flag)

{

case '+':

right=answer.getText();

res=Double.parseDouble(left) + Double.parseD ouble(right);

answer.setText(String.valueOf(res));

break;

case '-':

right=answer.getText();

res=Double.parseDouble(left) - Double.parseD ouble(right);

answer.setText(String.valueOf(res));

break;

case '×':

right=answer.getText();

res=Double.parseDouble(left) * Double.parseD ouble(right);

answer.setText(String.valueOf(res));

break;

case '÷':

right=answer.getText();

if(Double.parseDouble(right)!=0)

{

res=Double.parseDouble(left) / Double.pars eDouble(right);

answer.setText(String.valueOf(res));

}

else

{

JOptionPane.showMessageDialog(null,"除数

不能为零,请改正!","错误提示",

https://www.360docs.net/doc/613462780.html,RMATION_MESSAGE);

left="";

}

break;

} }catch(NumberFormatException ex)

{

System.out.println("出现了输入的异常"); }

catch(RuntimeException ex)

{

System.out.println("运行过程中出现异常"); }

}

}

}

}

计算器关于对话框:

package com.blogchina.qb2049.counter;

//计算器的关于菜单

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import https://www.360docs.net/doc/613462780.html,.URL;

public class Counter_About extends JDialog

{

private JLabel ico;

private JLabel tit;

private JLabel con1;

private JLabel con2;

private JLabel con3;

private JLabel con4;

private JLabel con5;

private JPanel upane;

private JPanel botpane;

Counter_About(JFrame frame)

{

//标题显示

super.setTitle("欢迎使用小计算器");

Container pan = this.getContentPane();

String str="counter.gif";

URL icoURL=Counter_About.class.getResource("/image/"+str);

ico=new JLabel(new ImageIcon(icoURL));

tit=new JLabel("欢迎使用本小计算器",JLabel.CENTER);

con1=new JLabel("本小计算器是在JDK1.4.2的基础上,运行与开发出来");

con2=new JLabel("希望本小计算器能给你带来方便");

con3 =new JLabel("本小型计算器如有错误和不足请联系:tiezhou@qgzx https://www.360docs.net/doc/613462780.html,");

con4 =new JLabel("谢谢使用!!",JLabel.CENTER);

con5 =new JLabel("2004年8月",JLabel.RIGHT);

upane =new JPanel();

botpane=new JPanel();

upane.setLayout(new BorderLayout());

botpane.setLayout(new GridLayout(5,1));

try {

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

java编写的简单计算器代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.360docs.net/doc/613462780.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

计算器设计的java课程设计报告

计算器设计的java 课程设计报告

华东交通大学课程设计课程设计题目:计算器设计 课程: Java程序设计 题目:计算器设计 年级:级 专业:信息一班 学号: 姓名: 组员: 指导教师:

课程设计(论文)任务书 基础学院信息与计算科学专业—1班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自年 6 月23日起至年6月27日止。 三、课程设计(论文) 地点: 计算机中心 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。

3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献: (1)丁振凡.《J ava语言程序设计》清华大学出版社 (2)丁振凡.《J ava语言程序设计实验指导与习题解析》清华大学出版社 (3)http:/ /https://www.360docs.net/doc/613462780.html, 6)课程设计进度安排 内容天数地点

JAVA编写的计算器源代码

package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();

java简单计算器源代码

package calcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { “=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;“=”,注册事件监听器,设置1行3列的布局,添加到到西边的面板buttonzero=new JButton("0"); buttondot=new JButton("."); buttonequal=new JButton("="); (h); (h); (h); (new GridLayout(3,1)); (buttonzero); (buttondot); (buttonequal); ; }

if()==buttontozero){//归零操作 (""); } if()==buttonzero){//按键0操作 ()+"0"); flag1=());//将文本区域转换成Double类型,赋给flag1 } } else if()==buttontwo){//按键2操作 ()+"2"); flag1=()); } else if()==buttonthree){//按键3操作 ()+"3"); flag1=()); } else if()==buttonfour){//按键4操作 ()+"4"); flag1=()); } else if()==buttonfive){//按键5操作

java计算器源代码(仿win7)

java计算器源代码(仿win7) import java.awt.*; import javax.swing.*; import java.awt.event.*; class Cal extends JFrame implements ActionListener,MouseListener{ JMenuBar menubar; JMenu menu_check,menu_edit,menu_help; JMenuItem menuitem_science,menuitem_check,menuitem_exit,menuitem_copy, menuitem_paste,menuitem1_copy,menuitem1_paste,menuitem_chelp,menuitem_about; JCheckBoxMenuItem menuitem_standard; JTextField ta1; int x,result2; double op1,op2,opall; private boolean end=false,flag=false,add=false,sub=false,cheng=false,chu=false,flagop2=false; JButton b_mc,b_mr,b_ms,b_mjia,b_mjian,b_tui,b_ce,b_c,b_jj, b_dui,b_7,b_8,b_9,b_chu,b_baifenhao,b_4,b_5,b_6,b_cheng, b_daoshu,b_1,b_2,b_3,b_jian,b_0,b_dian,b_jia,b_dengyu; JPanel p_all,p_button1,p_button2,p_txt,p1,p2,p3,p4,p5; private String str,resultstr;

简易计算器Java实训报告

实训名称: Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

山东科技大学泰山科技学院

目录 1 实训目的 (2) 2 简易计算机的分析与设计 (2) 系统功能描述 (2) 系统模块设计 (2) 数据库结构设计 (3) 3 主要代码清单 (4)

4 程序运行与测试 (8) 5 实训总结 (10)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

java课设计算器

java课设计算器 华东交通大学理工学院 课程设计报告书 所属课程名称Java语言程序设计题目简单计算器设计 分院电信分院 专业班级12通信工程1班学号212 学生姓名 指导教师 2014 年6 月20日

java课设计算器 目录 第1章计算器机要求及内 容 (3) 第2章计算器设计............................................................. 4 第3章计算器程序代码 (14) 第4章计算器测试............................................................. 49 第5章课程设计心 得 (53) 第6章参考文献.............................................................. ....54第1章计算器内容及要求 一设计内容: 1. 实现基本的加减乘除法的运算; 2 实现常用的函数计算功能;

3. 实现将系统时间在界面上显示; 4. 实现菜单对计算器的关闭、开启及设置运算法则的操作。 二设计要求 1.使用菜单控制计算器界面的显示,关闭; 2.使用菜单控制运算的法则; 3.使用菜单显示函数运算窗口及运算; 4.数据采用手工输入方式; 5.对异常的数据进行异常处理,比如1/0的情况。

第2章计算器设计 一.设计模式 采用MVC设计模式,将模型,视图,控制分别单独完成。在模型中将视图,控制添加到其中,再分别完成视图的,控制的程序。 二.结构设计 在界面中分为四个视图的组件,控制分为按钮事件,菜单选择事件,以及键盘输入控制事件。如图1 图1

java编写的简单的计算器程序

j a v a编写的简单的计 算器程序 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化

参考代码: import .*; import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

JAVA编写的计算器源代码

import class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel(); JButton btBk = new JButton(" Backspace"); JButton btCe = new JButton("Ce"); JButton btCl = new JButton("C"); JButton bt7 = new JButton("7"); JButton bt8 = new JButton("8"); JButton bt9 = new JButton("9"); JButton btDiv = new JButton("/"); JButton btSqrt = new JButton("sqrt"); JButton bt4 = new JButton("4"); JButton bt5 = new JButton("5"); JButton bt6 = new JButton("6"); JButton btMult = new JButton("*"); JButton btMol = new JButton(" % "); JButton bt1 = new JButton("1"); JButton bt2 = new JButton("2"); JButton bt3 = new JButton("3"); JButton btMinu = new JButton("-"); JButton btCoun = new JButton(" 1/x");

计算器设计的java课程设计报告

】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计

课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:

计算器JAVA源代码

计算器JAVA源代码 这是我在培训班时,学了一个月后编写的一个简易计算器的源代码。从设计、编码、实现该程序共用时一天(10个小时)。当时只是学完了JAVA的基础知识,各位也看得出,这里面没有用到高深的技术,全是基础的,所以我当时理解的就是:编程主要需要的是解决问题的思维、思想!现将其公布,希望能给初学者一点起示: [注:将考贝后,在JDK环境下可直接运行] [源代码] import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; class Jsqzj implements ActionListener { JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; JFrame f; GridLayout c=new GridLayout(4,4); JTextField tf = new JTextField(); public void init() { f=new JFrame("CardLayout testing"); Container ct = f.getContentPane();

tf.setHorizontalAlignment(JTextField.RIGHT); ct.add(tf,"North"); JPanel p2=new JPanel(); ct.add(p2,"Center"); GridLayout c=new GridLayout(4,4); p2.setLayout(c); JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; b1=new JButton("1"); b2=new JButton("2"); b3=new JButton("3"); b4=new JButton("4"); b5=new JButton("5"); b6=new JButton("6"); b7=new JButton("7"); b8=new JButton("8"); b9=new JButton("9"); b10=new JButton("0"); b11=new JButton("."); b12=new JButton("="); b13=new JButton("+"); b14=new JButton("-");

用JAVA编写计算器程序(模拟Windows计算器)

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionListener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213);

科学计算器程序Java代码

功能举例: 源程序如下: import import import import import import import import import import import import import import import import import import import public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;###");, new Dot(), ; addButton(panel2, "+", new Signs(), ; addButton(panel2, "tan", new Signs(), ; addButton(panel2, "%", new Signs(), ; addButton(panel2, "π", numActionListener, ; addButton(panel2, "e", numActionListener, ; addButton(panel2, "′″", new Signs(), ; addButton(panel2, "=", new Signs(), ; JButton btns = new JButton("计算器"); createLoweredBevelBorder()); false);rim()); (i)); }else if(str == "Backspace"){ if()) > 0){ if().length() > 1){ ().substring(0, ().length() - 1)); ength() > 2){ ().substring(0, ().length() - 1)); }else{

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

java简易计算器源代码

package Swing; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class Work1 { public static void main(String[] args) { new JsqV iew(340, 240); } } @SuppressWarnings("serial") class JsqV iew extends JFrame { JTextField jtf; JButton jb1, jb2, jb3; JButton[] jb; JPanel jp1, jp2, jp3, jp4; MyActionListener l; public JsqView(int weith, int heigh) { Container con = this.getContentPane(); con.setLayout(new BorderLayout(5, 10)); l = new MyActionListener(this); jtf = new JTextField(26); jp1 = new JPanel(); jp1.add(jtf); jtf.setHorizontalAlignment(JTextField.RIGHT); jp3 = new JPanel(); jp3.setLayout(new BorderLayout(5, 10)); jb1 = new JButton("Backspace"); jb2 = new JButton("CE"); jb3 = new JButton("C");

相关文档
最新文档