| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 814 人关注过本帖
标题:求助计算器代码
只看楼主 加入收藏
yahui
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-11-12
收藏
 问题点数:0 回复次数:2 
求助计算器代码

我急需一个计算器的java源程序,请各位大虾帮忙啊!

我的邮箱是yahui1314521@163.com

搜索更多相关主题的帖子: 计算器 代码 
2005-11-12 09:40
Fudan_Men
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2005-9-14
收藏
得分:0 

代码全部自己手写的,就连String-〉double也是自己写的程序,当时自己还不知道有Double.parseDouble()这个函数,汗……,就是这个用awt实现的,刚学了两天自己就在写这个程序,不要笑话偶…… 现在自己学了半个月java了也算是……

package calculator;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator extends JFrame {
int mark=0;//作为前一个运算符号的标记10->'+';11->'-';12->'*',13->'/'
int select=0;
double item1;
double item2;
double item=0;
String str;
String str1;
Frame fr=new Frame("简易计算器模型");
TextField tf=new TextField(10);
Panel p1=new Panel();
Panel p2=new Panel();//Carry the bottons
Panel p3=new Panel();
Panel p4=new Panel();
Panel p5=new Panel();
Panel p6=new Panel();
Button b0=new Button("0");
Button b1=new Button("1");
Button b2=new Button("2");
Button b3=new Button("3");
Button b4=new Button("4");
Button b5=new Button("5");
Button b6=new Button("6");
Button b7=new Button("7");
Button b8=new Button("8");
Button b9=new Button("9");
Button b10=new Button("+");
Button b11=new Button("-");
Button b12=new Button("*");
Button b13=new Button("/");
Button b14=new Button(".");
Button b15=new Button("=");
public static void main(String [] args){
Calculator t=new Calculator();
t.go();
}
void go(){
fr.setBackground(Color.DARK_GRAY);
fr.setLayout(new FlowLayout());
fr.addWindowListener(new WindowHandler());
b0.addActionListener(new ButtonHandler(0));
b1.addActionListener(new ButtonHandler(1));
b2.addActionListener(new ButtonHandler(2));
b3.addActionListener(new ButtonHandler(3));
b4.addActionListener(new ButtonHandler(4));
b5.addActionListener(new ButtonHandler(5));
b6.addActionListener(new ButtonHandler(6));
b7.addActionListener(new ButtonHandler(7));
b8.addActionListener(new ButtonHandler(8));
b9.addActionListener(new ButtonHandler(9));
b10.addActionListener(new ButtonHandler(10));
b11.addActionListener(new ButtonHandler(11));
b12.addActionListener(new ButtonHandler(12));
b13.addActionListener(new ButtonHandler(13));
b14.addActionListener(new ButtonHandler(14));
b15.addActionListener(new ButtonHandler(15));
p1.setLayout(new FlowLayout());
p2.setLayout(new GridLayout(1,4,5,0));
p3.setLayout(new GridLayout(4,1,0,5));
p4.setLayout(new GridLayout(4,1,0,5));
p5.setLayout(new GridLayout(4,1,0,5));
p6.setLayout(new GridLayout(4,1,0,5));
p2.add(p3);
p2.add(p4);
p2.add(p5);
p2.add(p6);
p3.add(b1);
p3.add(b4);
p3.add(b7);
p3.add(b15);
p4.add(b2);
p4.add(b5);
p4.add(b8);
p4.add(b14);
p5.add(b3);
p5.add(b6);
p5.add(b9);
p5.add(b0);
p6.add(b10);
p6.add(b11);
p6.add(b12);
p6.add(b13);
p1.add(tf);
fr.add(p1);
fr.add(p2);
fr.setSize(100,200);
fr.setVisible(true);
}
double chang(String a){//change the String to the double;
double a1=0.0;
int mark=0;
int j=0;
for(int i=0;i<a.length();i++)
{
if(a.charAt(i)=='-')
{
mark++;continue;
}
if (j == 0) {
if (a.charAt(i) != '.')
a1 = a1 * 10 + (a.charAt(i) - '0');
else
j++;
}
else {
double cc = 1.0;
for (int k = 0; k < j; k++)
cc /= 10;
a1 += cc * (a.charAt(i) - '0');
j++;
}
//else {b1+=(10^j)*(b.charAt(i)-'0');j--;}
}
if(mark!=0)
a1=0-a1;
return a1;


}

class WindowHandler extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(1);
}
}
class ButtonHandler implements ActionListener{
int sel;
ButtonHandler(int select){
this.sel=select;
}
public void actionPerformed(ActionEvent e){
switch(sel){
case 0:tf.setText(tf.getText()+"0");break;
case 1:tf.setText(tf.getText()+"1");break;
case 2:tf.setText(tf.getText()+"2");break;
case 3:tf.setText(tf.getText()+"3");break;
case 4:tf.setText(tf.getText()+"4");break;
case 5:tf.setText(tf.getText()+"5");break;
case 6:tf.setText(tf.getText()+"6");break;
case 7:tf.setText(tf.getText()+"7");break;
case 8:tf.setText(tf.getText()+"8");break;
case 9:tf.setText(tf.getText()+"9");break;
case 10:{
str1=tf.getText();
item1=chang(str1);
tf.setText("");
mark=10;
break ;}
case 11:
{str1=tf.getText();
item1=chang(str1);
tf.setText("");
mark=11;break;}

case 12:
{str1=tf.getText();
item1=chang(str1);
tf.setText("");
mark=12;break;}

case 13:
{str1=tf.getText();
item1=chang(str1);
tf.setText("");
mark=13;
break ;}
case 14:tf.setText(tf.getText()+".");break;
case 15:if(mark==10/*'+'*/){
str=tf.getText();
item=chang(str);
item1+=item;
str=String.valueOf(item1);
tf.setText(str);
}
if(mark==11/*'-'*/){
str=tf.getText();
item=chang(str);
item1-=item;
str=String.valueOf(item1);
tf.setText(str);

}
if(mark==12/*'*'*/){
str=tf.getText();
item=chang(str);
item1*=item;
str=String.valueOf(item1);
tf.setText(str);

}
if(mark==13/*'*'*/){
str=tf.getText();
item=chang(str);
item1/=item;
str=String.valueOf(item1);
tf.setText(str);

}


}
}

}


}

2005-11-18 23:56
离开摆渡
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2013-6-12
收藏
得分:0 
好强大
2013-07-23 17:22
快速回复:求助计算器代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021915 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved