`
smallearth
  • 浏览: 39446 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

counter

 
阅读更多
package mycounter;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.math.*;
import java.lang.Integer;
public class counter extends JFrame implements ActionListener {
JFrame Jf=new JFrame("Mycounter");
JPanel Jp1=new JPanel();
JPanel Jp2=new JPanel();
JTextField Jtf=new JTextField(25);
String str[]={"sin","1","2","3","+","cos","4","5","6","-","tan","7","8","9",
"*","Int","0",".","=","/"};
JButton JBu;
String operator=null;
String num,s;
double one;
static double two=0;
boolean bool=true;


public counter()
{
init();
}
public void init()
{
Jf.setBounds(500,200,300,240);
Jf.setLayout(new BorderLayout());

Jtf.setVisible(true);
Jp1.add(Jtf);
Jp1.setVisible(true);
Jf.add(Jp1,BorderLayout.NORTH);

Jp2.setLayout(new GridLayout(4,5,1,1));
for(int i=0;i<20;i++)
{
JBu=new JButton(str[i]);
JBu.addActionListener(this);
Jp2.add(JBu);
}
Jp2.setVisible(true);
Jf.add(Jp2,BorderLayout.CENTER);

Jf.setVisible(true);
}
public void actionPerformed( ActionEvent e)
{
s=e.getActionCommand();
if(s.charAt(0)=='0')
{
if(!bool&&s!="=")
{
Jtf.setText(Jtf.getText()+s);
}
else if(operator!=null)
{
Jtf.setText(s);
num = Jtf.getText();
two=0;
operator=null;
}


}
else if('1'<=s.charAt(0)&&s.charAt(0)<='9')
{
if(!bool)
{
Jtf.setText(Jtf.getText()+s);
}
else
{
Jtf.setText(s);
operator=null;
}
bool=false;
}
else if(s==".")
{
if(Jtf.getText().indexOf(".")==-1)
{

if(Jtf.getText()==null)
{
Jtf.setText("0.");
}
else if(!bool)
{
Jtf.setText(Jtf.getText()+s);
}
bool=false;
}
}
else if(s=="sin"||s=="cos"||s=="tan"||s=="Int")
{
num=Jtf.getText();
operation1();
}
else if(s=="=")
{
operation();
}
else
{
if(operator!=null)
{
if(s!=operator)
operator=s;
two=0;
}
else
{
operator=s;
num=Jtf.getText();
Jtf.setText("");
}
}

}
public void operation1()
{
one=Double.parseDouble(num);
if(s=="sin")
{
Jtf.setText(""+Math.sin(one));
}
if(s=="cos")
{
Jtf.setText(""+Math.cos(one));
}
if(s=="tan")
{
Jtf.setText(""+Math.tan(one));
}
if(s=="Int")
{
int i=(int)one;
// System.out.println(i);
Jtf.setText(""+i);
}
}
public void operation()
{
one=Double.parseDouble(num);
if(two==0)
two=Double.parseDouble(Jtf.getText());

char c=operator.charAt(0);
switch(c)
{
case '+':one+=two;Jtf.setText(""+one); num=Jtf.getText();bool=true;return;
case '-':one-=two;Jtf.setText(""+one); num=Jtf.getText();bool=true;return;
case '*':one*=two;Jtf.setText(""+one); num=Jtf.getText();bool=true;return;
case '/':one/=two;Jtf.setText(""+one); num=Jtf.getText();bool=true;return;
}
}
public static void main(String arg[])
{
new counter();
}
}



分享到:
评论

相关推荐

    SourceCounter代码统计(含注册方法)

    "SourceCounter代码统计工具"是一款强大的软件,专为开发者设计,用于分析和统计各种编程语言的源代码。这款工具能够详尽地统计不同类型的代码文件,包括但不限于C++、VB.Net、VB、C#、JAVA、Delphi、ASP.Net、ASP、...

    Source Counter【代码统计工具】

    "Source Counter【代码统计工具】"是一款专门设计用于统计代码行数、注释以及其它相关指标的软件。这款工具在IT行业中尤其对于项目管理和软件开发团队具有很高的实用价值,因为它可以帮助量化开发工作量,评估项目的...

    绿色代码统计工具Blue StepCounter

    **绿色代码统计工具Blue StepCounter详解** 在编程和软件开发领域,代码统计是评估项目规模、跟踪进度和管理团队生产力的重要手段。Blue StepCounter是一款专为程序员设计的绿色(轻量级、环保、无需安装)代码统计...

    源代码统计工具(SourceCounter) 2.0.7.39

    SourceCounter(源代码统计精灵) 1.6.6.4 版 !- Boom 2006-1-26 + 支持对 ASP 和 HTML 文件的统计 + 保存统计源代码的文件夹路径 SourceCounter(源代码统计精灵) 1.6.5.2 版 !- Boom 2005-12-27 + 统计结果保存 ....

    COUNTER

    在IT行业中,"COUNTER"这个词可能与字体设计和排版技术有关。在字体设计中,"Counter"一词指的是封闭区域内留白的部分,比如字母 "o" 中间的空洞或者数字 "4" 下方的开口空间。这些内部的空白区域对于字体的可读性和...

    Advanced FPS Counter v1.5.3

    Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced FPS Counter v1.5.3Advanced ...

    8_COUNTER_lpc2138counter_源码

    标题中的“8_COUNTER_lpc2138counter_源码”指的是一个针对LPC2138微控制器的计数器应用示例的源代码。LPC2138是NXP公司生产的一款基于ARM7TDMI-S内核的微控制器,具有高性能、低功耗的特点,广泛应用于嵌入式系统...

    Ethercat FMMU寻址,Working Counter

    本文主要探讨了EtherCAT的寻址机制以及Working Counter(工作计数器)的工作原理。 首先,EtherCAT使用标准的IEEE 802.3以太网帧格式,但它在帧的有效载荷中传输了不同数量的EtherCAT数据包(Datagram)。每个...

    代码统计工具 SourceCounter

    **源码统计工具SourceCounter详解** 在软件开发过程中,了解项目的规模、代码量以及各部分的比例对于项目管理和质量控制至关重要。这就是代码统计工具的作用所在,它们可以帮助开发者量化代码库,提供有关代码...

    JAVA编程计数器类Counter

    ### JAVA编程计数器类Counter知识点解析 #### 一、计数器类Counter概述 在Java编程中,计数器是一种常见的数据结构或组件,用于记录某个动作发生的次数。本篇将详细介绍一个简单的计数器类`Counter`,该类通过三个...

    源代码统计工具 - SourceCounter - 2.2.30.36

    http://boomworks.googlecode.com/files/sourcecounter-2.2.30.36.zip 主要功能(Features) * 统计速度快、准确 * 支持对 20 多种代码格式进行统计 * 支持多目录和包含子目录的统计方式 * 能够计算代码的人月数...

    Line_Counter_2008

    《Line_Counter_2008:代码行统计利器在.NET平台的应用》 在软件开发过程中,代码行数(LOC,Lines of Code)是衡量项目规模、复杂度和工作量的重要指标之一。Line_Counter_2008,正如其名,是一款专为开发者设计的...

    Link Click Counter1.0.zip

    首先,让我们理解"Link Click Counter1.0.zip"的核心功能。这款插件专为WordPress设计,目的是跟踪和记录用户在网站上点击的每一个超链接。这对于内容创作者和网站管理员而言,是一个宝贵的资源,因为它能够提供关于...

    LineCounter.NET (binaries)代码行计数器

    LineCounter.NET是一款专为.NET开发者设计的代码行计数工具,它提供了二进制版本,使得用户无需编译源码即可直接使用。该工具的主要功能是统计.NET项目中的代码行数,这对于软件开发过程中的代码质量管理、代码...

    SourceCounter.zip

    《SourceCounter:一款实用的代码统计工具》 在软件开发过程中,代码量的统计是一项重要的工作,它可以帮助我们了解项目的规模,评估开发进度,以及进行团队间的任务分配。SourceCounter便是一款专为此目的设计的...

    SourceCounter.rar

    源代码行数统计工具,如"SourceCounter",在软件开发和项目管理中扮演着重要的角色。它们能够帮助开发者和团队有效地评估项目的规模,监控代码的增长,以及进行代码质量分析。下面将详细介绍这类工具的功能、用途及...

    代码量统计(SourceCounter).rar

    《代码量统计——SourceCounter深度解析》 在软件开发过程中,代码量的统计是一项重要的工作,它可以帮助我们评估项目的规模,理解代码复杂性,以及跟踪项目进度。SourceCounter是一款高效实用的代码行数统计工具,...

    源代码统计工具SourceCounter

    《源代码统计工具SourceCounter深度解析》 在软件开发过程中,源代码的管理和统计是一项重要的工作,它能够帮助开发者了解项目规模,评估开发进度,以及进行代码质量分析。SourceCounter是一款专业的源代码统计工具...

    SourceCounter V3.4

    《SourceCounter V3.4:高效便捷的代码统计利器》 在软件开发过程中,了解代码的质量和规模至关重要,这不仅有助于优化代码结构,还能有效管理项目进度。SourceCounter V3.4就是这样一款专为程序员设计的代码统计...

    The Galois/Counter Mode of Operation (GCM)

    传统上,计数器模式(Counter Mode)被广泛用作高速加密的最佳方法,因为它满足了上述要求。然而,目前缺乏一个合适的标准消息认证算法。GCM填补了这个空白,而其他提出的模式如CBC-MAC以及使用CBC-MAC来提供认证的...

Global site tag (gtag.js) - Google Analytics