展开全部

参考: http://gzdzw.51.net/htmjsq.htm

计算器代码:

计算器

var FKeyPad = document.Calculator;

var Accum = 0;

var FlagNewNum = false;

var PendingOp = "";

function Num (Num) {

if (FlagNewNum) {

FKeyPad.ReadOut.value = Num;

FlagNewNum = false;

}

else {

if (FKeyPad.ReadOut.value == "0")

FKeyPad.ReadOut.value = Num;

else

FKeyPad.ReadOut.value += Num;

}

}

function Operation (Op) {

var Readout = FKeyPad.ReadOut.value;

if (FlagNewNum && PendingOp != "=");

else

{

FlagNewNum = true;

if ( '+' == PendingOp )

Accum += parseFloat(Readout);

else if ( '-' == PendingOp )

Accum -= parseFloat(Readout);

else if ( '/' == PendingOp )

Accum /= parseFloat(Readout);

else if ( '*' == PendingOp )

Accum *= parseFloat(Readout);

else

Accum = parseFloat(Readout);

FKeyPad.ReadOut.value = Accum;

PendingOp = Op;

}

}

function Decimal () {

var curReadOut = FKeyPad.ReadOut.value;

if (FlagNewNum) {

curReadOut = "0.";

FlagNewNum = false;

}

else

{

if (curReadOut.indexOf(".") == -1)

curReadOut += ".";

}

FKeyPad.ReadOut.value = curReadOut;

}

function ClearEntry () {

FKeyPad.ReadOut.value = "0";

FlagNewNum = true;

}

function Clear () {

Accum = 0;

PendingOp = "";

ClearEntry();

}

function Neg () {

FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;

}

function Percent () {

FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);

}

function hexchange()

{

var hex,dec;

dec = parseFloat(FKeyPad.ReadOut.value);

hex = dec.toString(16);

window.alert("该十进制数转成十六进制数为:["+ hex +"]");

}

function octchange()

{

var oct,dec;

dec = parseFloat(FKeyPad.ReadOut.value);

oct = dec.toString(8);

window.alert("该十进制数转成八进制数为:["+ oct +"]");

}

function binchange()

{

var bin,dec;

dec = parseFloat(FKeyPad.ReadOut.value);

bin = dec.toString(2);

window.alert("该十进制数转成二进制数为:["+ bin +"]");

}

-----------------------------

//主类

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

public class Counter{

Process process=new Process();

JTextField t1=new JTextField();

public Counter(){

JFrame f=new JFrame();

t1.setEditable(false);

t1.setBackground(Color.white);

JButton b1=new JButton(" 1 ");b1.setForeground(Color.blue);

JButton b2=new JButton(" 2 ");b2.setForeground(Color.blue);

JButton b3=new JButton(" 3 ");b3.setForeground(Color.blue);

JButton b4=new JButton(" + ");b4.setForeground(Color.red);

JButton b5=new JButton(" C ");b5.setForeground(Color.red);

JButton b6=new JButton(" 4 ");b6.setForeground(Color.blue);

JButton b7=new JButton(" 5 ");b7.setForeground(Color.blue);

JButton b8=new JButton(" 6 ");b8.setForeground(Color.blue);

JButton b9=new JButton(" - ");b9.setForeground(Color.red);

JButton b10=new JButton(" B ");b10.setForeground(Color.red);

JButton b11=new JButton(" 7 ");b11.setForeground(Color.blue);

JButton b12=new JButton(" 8 ");b12.setForeground(Color.blue);

JButton b13=new JButton(" 9 ");b13.setForeground(Color.blue);

JButton b14=new JButton(" * ");b14.setForeground(Color.red);

JButton b15=new JButton("1/x");b15.setForeground(Color.red);

JButton b16=new JButton(" 0 ");b16.setForeground(Color.blue);

JButton b17=new JButton("+/-");b17.setForeground(Color.red);

JButton b18=new JButton(" . ");b18.setForeground(Color.red);

JButton b19=new JButton(" / ");b19.setForeground(Color.red);

JButton b20=new JButton(" = ");b20.setForeground(Color.red);

Container c=f.getContentPane();

c.setLayout(new BorderLayout());

JPanel p=new JPanel(new GridLayout(4,1));

JPanel p1=new JPanel(new FlowLayout());

JPanel p2=new JPanel(new FlowLayout());

JPanel p3=new JPanel(new FlowLayout());

JPanel p4=new JPanel(new FlowLayout());

c.add(t1,BorderLayout.NORTH);

p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);

p2.add(b6);p2.add(b7);p2.add(b8);p2.add(b9);p2.add(b10);

p3.add(b11);p3.add(b12);p3.add(b13);p3.add(b14);p3.add(b15);

p4.add(b16);p4.add(b17);p4.add(b18);p4.add(b19);p4.add(b20);

p.add(p1);

p.add(p2);

p.add(p3);

p.add(p4);

c.add(p,BorderLayout.CENTER);

f.setTitle("计算器");

f.setBounds(300,160,284,210);

f.setVisible(true);

f.setResizable(false);

//b1事件

b1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("1");

t1.setText(process.out());

}

});

//b2事件

b2.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("2");

t1.setText(process.out());

}

});

//b3事件

b3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("3");

t1.setText(process.out());

}

});

//b6事件

b6.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("4");

t1.setText(process.out());

}

});

//b7事件

b7.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("5");

t1.setText(process.out());

}

});

//b8事件

b8.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("6");

t1.setText(process.out());

}

});

//b11事件

b11.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("7");

t1.setText(process.out());

}

});

//b12事件

b12.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("8");

t1.setText(process.out());

}

});

//b13事件

b13.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("9");

t1.setText(process.out());

}

});

//b16事件

b16.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input("0");

t1.setText(process.out());

}

});

//b18事件

b18.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.input(".");

t1.setText(process.out());

}

});

//b5事件

b5.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.clear();

t1.setText("0");

}

});

//b10事件

b10.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.backSpace();

t1.setText(process.out());

}

});

//加号事件

b4.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.sign(1);

}

});

//减号事件

b9.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.sign(2);

}

});

//乘号事件

b14.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.sign(3);

}

});

//除号事件

b19.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.sign(4);

}

});

//+/-号事件

b17.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.setSign();

t1.setText(process.out());

}

});

//1/x号事件

b15.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

process.sign(5);

}

});

//等号事件

b20.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

t1.setText(process.sum());

}

});

}

public static void main(String args[]){

Counter cou=new Counter();

}

}

//Process类

class Process {

double temp1, temp2;

String tfsum1, tfsum2;

int mark, mark1;

//构造函数

Process() {

clear();

}

void clear() {

temp1 = temp2 = 0;

mark = mark1 = 0;

tfsum1 = tfsum2 = "0";

}

//接收数据

void input(String s) {

if (mark1 == -1) {

clear();

if (!s.equalsIgnoreCase(".")) {

tfsum1 = s;

}

else {

tfsum1 += s;

}

}

else if (mark != 0) {

if (tfsum2.equalsIgnoreCase("0") && !s.equalsIgnoreCase(".")) {

tfsum2 = s;

}

else if (!s.equalsIgnoreCase(".") ||

(tfsum2.indexOf(".") < 0 && s.equalsIgnoreCase("."))) {

tfsum2 += s;

}

mark1 = 2;

}

else {

if (tfsum1.equalsIgnoreCase("0") && !s.equalsIgnoreCase(".")) {

tfsum1 = s;

}

else if (!s.equalsIgnoreCase(".") ||

(tfsum1.indexOf(".") < 0 && s.equalsIgnoreCase("."))) {

tfsum1 += s;

}

mark1 = 1;

}

temp1 = Double.parseDouble(tfsum1);

temp2 = Double.parseDouble(tfsum2);

}

//符号//

void sign(int sign) {

if (mark1 != 0) {

mark = sign;

}

}

//输出计算结果

String sum() {

mark1 = -1;

switch (mark) {

default:

break;

case 1:

temp1 += temp2;

break;

case 2:

temp1 -= temp2;

break;

case 3:

temp1 *= temp2;

break;

case 4:

if (temp2 != 0) {

temp1 /= temp2;

}

else {

return "除数不能为零";

}

break;

case 5:

if(temp1!=0)

temp1=1/temp1;

else return "零不能取倒数";

break;

}

tfsum1 = Double.toString(temp1);

tfsum2 = Double.toString(temp2);

if (Double.isInfinite(temp1)) {

return "CE";

}

else {

return String.valueOf(temp1);

}

}

//输出当前操作数的字符串

String out() {

if (mark != 0 && mark1 >= 0) {

return tfsum2;

}

else {

return tfsum1;

}

}

//实现退格的功能

void backSpace() {

if (mark1 == 1) {

if (tfsum1.length() <= 1) {

tfsum1 = "0";

}

else {

tfsum1 = tfsum1.substring(0, tfsum1.length() - 1);

}

temp1 = Double.parseDouble(tfsum1);

}

if (mark1 == 2) {

if (tfsum2.length() <= 1) {

tfsum2 = "0";

}

else {

tfsum2 = tfsum2.substring(0, tfsum2.length() - 1);

}

temp2 = Double.parseDouble(tfsum2);

}

}

//取反

void setSign() {

switch (mark1) {

case -1:

case 1:

if (tfsum1.startsWith("-")) {

tfsum1 = tfsum1.substring(1, tfsum1.length());

}

else {

tfsum1 = "-" + tfsum1;

}

break;

case 2:

if (tfsum2.startsWith("-")) {

tfsum2 = tfsum2.substring(1, tfsum2.length());

}

else {

tfsum2 = "-" + tfsum1;

}

break;

default:

break;

}

temp1 = Double.parseDouble(tfsum1);

temp2 = Double.parseDouble(tfsum2);

}

}

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

java计算机全部代码_(Java)谁有计算器的完整代码?相关推荐

  1. python写科学计算器代码_Python编程使用tkinter模块实现计算器软件完整代码示例...

    Python编程使用tkinter模块实现计算器软件完整代码示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python编程使用tkinter模块实现计算器软件完整代码示例 ...

  2. python tkinter计算器实例_Python编程使用tkinter模块实现计算器软件完整代码示例

    Python 提供了多个图形开发界面的库.Tkinter就是其中之一. Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数 ...

  3. php编网页版计算器,php 简单网页计算器的完整代码

    这篇文章主要为大家详细介绍了php 简单网页计算器的完整代码,具有一定的参考价值,可以用来参考一下. 对php实现的一个简单的网页计算器代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  4. 不认识java代码_程序员进阶:优雅的代码对于一个架构师的重要性

    lison:复旦大学工程硕士,专注技术十年,产品控.代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目.热爱互联网,热衷于各种web技术,精通JAVA.J2EE和前端开发,擅长互联网高 ...

  5. java手风琴代码_[Java教程]18款jquery抽屉式手风琴导航特效代码

    [Java教程]18款jquery抽屉式手风琴导航特效代码 0 2015-11-12 21:00:05 jquery hover抽屉式导航图片展开收缩代码 jQuery仿瑞丽鼠标滑过图片手风琴展开特效 ...

  6. JAVA圣诞代码_[Java教程]【Merry Christmas】圣诞节,给博客添加浪漫的下雪效果!...

    [Java教程][Merry Christmas]圣诞节,给博客添加浪漫的下雪效果! 0 2012-12-25 15:00:20 一年一度的圣诞节又到了,首先祝大家好运一串串,健康一年年,平安到永远! ...

  7. java教师薪资系统_“java实验代码即UML类图”之“教师工资发放”

    实验二 2. 编写程序,实现计信学院学期末教师的奖金发放.教师有属性:编号.姓名,教学总工作量,奖金:其中奖金的计算方法为: x*30 (当职称为教授时) y= x*25 (当职称为副教授时) x*2 ...

  8. java表白程序玫瑰花_给爱人的玫瑰花表白程序代码--Java版

    1 书写表白语句的frame(渐入功能) package com.wanju.blessing; import java.awt.Color; import java.awt.Container; i ...

  9. java玫瑰花代码_给爱人的玫瑰花表白程序代码--Java版-Go语言中文社区

    1 书写表白语句的frame(渐入功能) package com.wanju.blessing; import java.awt.Color; import java.awt.Container; i ...

  10. java数位倒置递归_有人能解释一下这个递归代码如何在java中反转int吗?

    r根本不用 10*r+n%10 实际上,这是一件很棘手的事情,而且很酷. 这是一个很好的例子,说明变量命名不当会使代码难以理解.我们有3行代码可以实际执行某些操作,但它的工作原理并不明显. priva ...

最新文章

  1. php中的意外type字符串,关于php:解析错误:语法错误,意外’文本’(T_STRING),期待’,’或’;’...
  2. 在5个数中找最大的数,并把他放入MAX单元
  3. 求逆元的两种方法+求逆元的O(n)递推算法
  4. python3+telnetlib实现简单自动测试
  5. 查看mysql二进制日志
  6. 监控延迟严重怎么解决_监控画面故障解决:网络监控画面没有图像显示或无视频信号怎么办...
  7. 云播 Android,云播放(Air Playit)android版
  8. Google浏览器的所有版本下载
  9. mac安装虚拟机 centos7
  10. yxy小蒟蒻的201111总结
  11. word编写页码,取消封面编码
  12. 如何加入家庭组计算机打印机,解决方案:Win7系统设置家庭组计算机设置共享打印机...
  13. matlab 端点检测 能零比法_基于短时能量与过零率的端点检测的matlab分析
  14. 2016前端面试题总结
  15. nginx配置移动端与PC端访问规则
  16. 爬取微信公众号方法总结
  17. 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(251-280)
  18. HiCPlotter|HiC数据可视化工具
  19. 2021年安徽省大数据与人工智能竞赛人工智能网络赛赛2和3题
  20. 【满分】【华为OD机试真题2023 JS】核酸检测人员安排

热门文章

  1. ssh_config sshd_config 详解ssh_config sshd_config 详解
  2. html动态生成榜单信息,排行榜.html
  3. jstree中文api文档_开发中文 API 的一些策略
  4. flutter 类似日期选择器控件_一切皆组件的Flutter,安能辨我是雄雌
  5. python函数的作用是_Python函数一
  6. linux驱动设备树
  7. 一些惹起热烈争议的PCB布线经验法则
  8. 如何打赢一场唯快不破的比赛,看看他们的绝招
  9. 两所大学中的智能车竞赛校内赛
  10. pyBoard定时器中断中不能够做什么操作? MicroPython,pyBoard