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

Mycounter 再次改进

 
阅读更多
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)
{
operator=null;
operator=s;
Jtf.setText("");
two=0;
bool=true;
// System.out.println(one+" "+two+" "+operator+s);

}
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.0)
two=Double.parseDouble(Jtf.getText());
// System.out.println(one+" "+two+" "+Jtf.getText());
char c;
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();
}
}



分享到:
评论

相关推荐

    MyCounter.zip

    《安卓计算器应用详解——以"MyCounter"为例》 在当今移动设备普及的时代,计算器应用已经成为了我们日常生活中不可或缺的一部分。本文将深入解析一款名为"MyCounter"的安卓计算器应用,它具备了基本的数学运算功能...

    mycounter1_100_ver2.rar_mycounter

    在本示例中,"mycounter1_100_ver2.rar_mycounter" 文件显然涉及到一种100进制计数器的设计,其中使用了三种不同类型的触发器:D触发器、JK触发器和T触发器。这些触发器是数字电路中的基本组件,它们的状态变化受...

    MyCounter.GithubAction

    MyCounter Github动作此操作被开发为MyCounter上的Hit或Get Counter值。输入项action 输入要执行的操作。 默认为"Hit" 。namespace 必需命名空间的名称。key 必需密钥名称。token 用于安全性的令牌。 默认为null产出...

    php流量统计功能的实现代码

    — — 表的结构 `mycounter` — 复制代码 代码如下: CREATE TABLE `mycounter` ( `id` int(11) NOT NULL auto_increment, `Counter` int(11) NOT NULL, `CounterLastDay` int(10) default NULL, `CounterToday` int...

    用SQL批量插入数据的存储过程

    循环插入: 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_...

    HTML页面访问ActiveXObject对象的方法和属性 更新TestActiveX html

    ActiveX方式 myCounter &quot; + SourceObj myCounter ; SourceObj myCounter++; alert &quot;ActiveX方式 myCounter新值 &quot; + SourceObj myCounter ; alert &quot;OBJECT方式 add 1 2 &quot; + ...

    ThreadLocal 内存泄露的实例分析1

    关键在于,一旦 `MyCounter` 被设置到 `ThreadLocal`,那么它将与当前线程绑定,除非显式地移除,否则即使 `LeakingServlet` 执行结束,`MyCounter` 也不会被清理。 `WebappClassLoader` 的生命周期与 web 应用紧密...

    类的练习1 计数器 CONSOLE C#

    在这个`Main`方法中,我们创建了一个`Counter`实例`myCounter`,然后使用`Increment`方法增加计数器的值5次,并使用`Decrement`方法减少计数器的值1次。最后,我们打印出每次操作后计数器的值,以便用户可以看到...

    批量执行sql语句的方法

    代码如下:DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:1’ /*延迟时间1秒*/ INSERT INTO comments (username) values(...

    my-3d-counter

    带有React和Cloud 9的Hello World 确保您具有节点版本8 $ nvm install 8 $ nvm use 8 $ node -v 使用BreatheCode CLI下载样板 $ npm i @breathecode/breathecode-cli -g 使用BreatheCode CLI下载样板 ...

    几个人计算器源码

    3. **11.MyCounter** - 这个名字可能表示一个版本或者迭代号,"MyCounter"直译为“我的计数器”,可能是另一种计算器实现,可能有独特的计数或计算方式,或者包含了一些特定的改进或优化。 从这些源码中,我们可以...

    用SQL批量插入数据的代码

    代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_...

    JScript零基础教程(基础文本)

    以上代码定义了一个简单的`while`循环,当`myCounter`小于10时,会不断输出其当前值,并自增1,直至达到10。 总之,JScript作为一种功能强大且易于学习的脚本语言,为初学者提供了一扇通往编程世界的窗口。掌握...

    redis命令大全

    - **示例**: `INCRBYFLOAT mycounter 0.1` 增加键 `mycounter` 的值0.1。 **18. DECR key** - **功能**: 将键中存储的数字值减少1。 - **示例**: `DECR mycounter` 减少键 `mycounter` 的值。 **19. DECRBY key ...

    批量过程SQL 相同部门中年龄最大 廷时 分页

    SET @MyCounter = @MyCounter + 1 END select userid insert into select * from person; select * insert into person values('a','b',20,'110') select * from emp where hiredate in ( select hiredate from...

    jquerycountupjs是一款轻量级jquery数字动画插件

    var counter = new CountUp("myCounter", 100, { duration: 5, decimalPlaces: 2, useCommas: true }); ``` **4. 动态更新** 在某些场景下,你可能需要在运行时更改计数器的数值。CountUp.js支持`update`方法,...

    数字滚动到设定数

    $("#myCounter").digitalScroll({ startValue: 0, // 当前数值 endValue: 100, // 目标数值 duration: 2000 // 动画持续时间,单位毫秒 }); ``` 4. **事件绑定**:如果需要在滚动完成后执行某些操作,可以...

    网页计数器

    String lastvalue = (String) application.getAttribute("mycounter"); ``` 从应用内存中获取 `mycounter` 的值。 3. **增加计数器值**: ```java int counter = Integer.parseInt(lastvalue) + 1; ``` 将...

    JavaScript闭包详解1

    console.log(myCounter.value()); // 输出 1 ``` 在这个例子中,`count` 变量只能通过返回的对象的 `increment`, `decrement` 和 `value` 方法访问,对外部来说是不可见的,实现了“私有”状态。 然而,闭包也有其...

    闭包问题html

    const myCounter = counter(); myCounter.increment(); // 输出 1 myCounter.decrement(); // 输出 0 ``` 在这个例子中,`count` 变量在 `counter` 函数的作用域内,对外不可见,但可以通过 `increment` 和 `...

Global site tag (gtag.js) - Google Analytics