求JAVA程序

purple623 2010-06-03 07:03:35
哪位好人能发我一个JAVA计算器程序,只要有十进制转换成二进制的运算就行,要图形界面的~
...全文
177 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wll474127597 2010-06-05
  • 打赏
  • 举报
回复
http://www.5fuyou.com/images/head/DownLoad.html 分享一个编程视频下载地址,很好,很强大
gjanyanlig 2010-06-04
  • 打赏
  • 举报
回复
我有,要的联系我
I_am_studying 2010-06-04
  • 打赏
  • 举报
回复
路过…………
sxg263 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhuyouyong 的回复:]


引用 6 楼 interamala 的回复:
网上去找吧。。。。多得哭。。。。送点分给我吧。我只需要2分,下点东西。。
[/Quote]

也送点分给我吧
lingzi_hi 2010-06-04
  • 打赏
  • 举报
回复
public void Grid(){
//单行文本
jpanel1=new JPanel();
conField=new JTextField("0.",36);
conField.setEditable(true);
jpanel1.add(conField);
conField.requestFocus();//
conField.setBackground(new Color(255, 255, 255));
mainPane.add(jpanel1,BorderLayout.NORTH);
conField.setHorizontalAlignment(JTextField.RIGHT);
conField.setEnabled(true);

//jpanel3面板
jpanel3 = new JPanel();
jpanel3.setBounds(0,0,300,100);
jpanel3.setLayout(new GridLayout(5,6,5,5));
mainPane.add(jpanel3,BorderLayout.CENTER);


jb0.setMnemonic(KeyEvent.VK_0);//等效键

jpanel3.add(JB);
jpanel3.add(JCE);
jpanel3.add(Jfu);
jpanel3.add(jbsq);
jpanel3.add(jbbai);
jpanel3.add(jbdao);

jpanel3.add(jbMc);
jpanel3.add(jbsin);
jpanel3.add(jb7);
jpanel3.add(jb8);
jpanel3.add(jb9);
jpanel3.add(jbjia);

jpanel3.add(jbMr);
jpanel3.add(jbcos);
jpanel3.add(jb4);
jpanel3.add(jb5);
jpanel3.add(jb6);
jpanel3.add(jbjian);

jpanel3.add(jbms);
jpanel3.add(jbtan);
jpanel3.add(jb1);
jpanel3.add(jb2);
jpanel3.add(jb3);
jpanel3.add(jbcheng);

jpanel3.add(jbM);
jpanel3.add(jbcot);
jpanel3.add(jb0);
jpanel3.add(jbdot);
jpanel3.add(jbdeng);
jpanel3.add(jbchu);


//数 字 键
class JianTing implements ActionListener{
public void actionPerformed(ActionEvent e){
String ss=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
if (k1==1){//开关 k1 为1时,向数1写 为2时,向数2写
if(k3==1){//str1 是否可以被清0 ==1时可以 !=1时不能被清0
str1="";
k5=1;//还原开关k5状态
}
str1=str1+ss;
k3=k3+1;//str1 是否可以被清0 ==1时可以 !=1时不能被清0
conField.setText(str1);//显示
}else if(k1==2){//开关 k1 为1时,向数1写 为2时,向数2写
if (k4==1){//开关4 符号键 次数 k4>1说明进行的是2+3-9+8 这样的多符号运算
str2="";
k5=1; //还原开关k5状态
}
str2=str2+ss;
k4=k4+1;//开关4 符号键 次数 k4>1说明进行的是2+3-9+8 这样的多符号运算
conField.setText(str2);
}
}
}

//符 号
class JianTing_fh implements ActionListener{
public void actionPerformed(ActionEvent e){
String ss2=((JButton)e.getSource()).getText();
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);

if(k2==1){//开关1 用于选择输入方向 将要写入str2或 str2
k1=2;//开关 k1 为1时,向数1写 为2时,向数2写
k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉
fh=ss2;
k2=k2+1;//按符号键的次数
}else{
int a=vt.size();
JButton c=(JButton)vt.get(a-2);
if(!(c.getText().equals("+"))&&!(c.getText().equals("-"))&&!(c.getText().equals("*"))&&!(c.getText().equals("/"))&&!(c.getText().equals("%"))){
yuns();
str1=jg;
k1=2;//开关 k1 为1时,向数1写 为2时,向数2写
k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉
k4=1;//开关4 符号键 次数 k4>1说明进行的是2+3-9+8 这样的多符号运算
fh=ss2;//运算符
}
k2=k2+1; //按符号键的次数
}
}
}


//等 于
class JianTing_dy implements ActionListener{
public void actionPerformed(ActionEvent e){
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
yuns();
k1=1; //还原开关k1状态(//开关1 用于选择输入方向 将要写入str2或 str2)
k2=1;//开关2 符号键 次数 k2>1说明进行的是2+3-9+8 这样的多符号运算
k3=1;//还原开关k3状态( str1 是否可以被清0 ==1时可以 !=1时不能被清0)
k4=1; //还原开关k4状态(开关4 符号键 次数 k4>1说明进行的是2+3-9+8 这样的多符号运算)
str1=jg; //为7+5=12 +5=17 这种计算做准备
}
}


//清除
class JianTing_clear implements ActionListener{
public void actionPerformed(ActionEvent e){
jicunqi=(JButton)e.getSource();
vt.add(jicunqi);
k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉
k2=1;//开关2 符号键 次数 k2>1说明进行的是2+3-9+8 这样的多符号运算
k1=1;//开关1 用于选择输入方向 将要写入str2或 str2
k3=1;//str1 是否可以被清0 ==1时可以 !=1时不能被清0
k4=1;//开关4 符号键 次数 k4>1说明进行的是2+3-9+8 这样的多符号运算
str1="0"; //运算数1 初值一定为0 为了程序的安全
str2="0";//运算数2
fh="";//运算符
jg="";//结果
vt.clear();
conField.setText("0.");
}
}
lingzi_hi 2010-06-04
  • 打赏
  • 举报
回复
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ar){
try{
int v=JOptionPane.showConfirmDialog(null,"是否退出!");
if(v==JOptionPane.YES_OPTION){
dispose();
}else if(v==JOptionPane.NO_OPTION){

}
}catch(Exception ex){
ex.printStackTrace();
}
}
});
this.setVisible(true);
}

//菜单栏
private void CreateMenu(){
MenuBar bar=new MenuBar();
setMenuBar(bar);

Menu fileMenu=new Menu("编辑(E)");
Menu editMenu=new Menu("查看(V)");
Menu viewMenu=new Menu("帮助(H)");
bar.add(fileMenu);
bar.add(editMenu);
bar.add(viewMenu);

MenuItem copyItem=new MenuItem("复制(C) Ctrl+C");
copyItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
conField.copy();
}});
MenuItem zhanItem=new MenuItem("粘贴(V) Ctrl+V");
zhanItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
conField.paste();
}});
MenuItem tuiItem=new MenuItem("退出");
tuiItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}});
fileMenu.add(copyItem);
fileMenu.add(zhanItem);
fileMenu.add(tuiItem);

MenuItem bItem=new MenuItem("标准型(T)");
bItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int type=JOptionPane.INFORMATION_MESSAGE;
String message="当前就是标准型";;
JOptionPane.showMessageDialog(conFrame,message,null,type);
}});
MenuItem kItem=new MenuItem("科学型(S)");
kItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int type=JOptionPane.INFORMATION_MESSAGE;
String title="科学型";
String message= "当前是标准型计算器,\n科学型计算器有待更新。";
JOptionPane.showMessageDialog(conFrame,message,title,type);
}});
MenuItem sItem=new MenuItem("数字分组(I)");
editMenu.add(bItem);
editMenu.add(kItem);
editMenu.add(sItem);

MenuItem hItem=new MenuItem("帮助主题(H)");
hItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
help = new JTextArea(5, 20);
int type=JOptionPane.INFORMATION_MESSAGE;
scrollHelp = new JScrollPane(help);
help.setEditable(false);
String title="用户须知";
help.append("执行简单计算\n");
help.append("1.键入计算的第一个数字。\n");
help.append("2.单击(+)执行加,(-)执行减,(*)执行乘,(/)执行除等等用法。\n");
help.append("3.键入计算的下一个数字。\n");
help.append("4.输入所有剩余的运算符和数字。\n");
help.append("5.单击(=)。\n");
JOptionPane.showMessageDialog(conFrame,scrollHelp,title,type);
}});
MenuItem aItem=new MenuItem("关于计算器(A)");
aItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int type=JOptionPane.INFORMATION_MESSAGE;
String title="About";
String message= "计算器2.11版\n开发者:MIPO";
JOptionPane.showMessageDialog(conFrame,message,title,type);
}});
viewMenu.add(hItem);
viewMenu.add(aItem);
}
lingzi_hi 2010-06-04
  • 打赏
  • 举报
回复
这个是模拟计算机用java实现的,但是太长了.我就分着发啊:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.lang.*;

/*
*项目名:科学计算器
*时间:09/01/15
*编辑者:吴庆和高翔
*/

public class Calculatort extends JFrame {
JFrame conFrame=new JFrame();
//菜单栏
MenuBar bar;
Menu fileMenu,editMenu,viewMenu;
MenuItem copyItem,zhanItem,tuiItem;
//面板和单行文本
JTextField conField;
JPanel jpanel1,jpanel3;
JScrollPane scrollHelp;
JTextArea help;
JFileChooser jf5;
//按钮
JButton jb0,jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8,jb9;
JButton jbcot,jbsin,jbcos,jbtan;
JButton jbMc,jbMr,jbM,JB,Jfu,JCE,jbms;
JButton jbchu,jbdeng,jbdot,jbcheng,jbjian,jbjia,jbsq,jbbai,jbdao;

String str1="0"; //运算数1 初值一定为0 为了程序的安全
String str2="0"; //运算数2
String fh="+"; //运算符
String jg="0.";//结果
String mid=".";
boolean pit=true;

//状态开关 重要
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);

//控制窗体在中央
Dimension fSize=new Dimension(410,280);
Dimension wSize=Toolkit.getDefaultToolkit().getScreenSize();
Point point=new Point(wSize.width/2-fSize.width/2,wSize.height/2-fSize.height/2);

//主面板
Panel mainPane=new Panel(new BorderLayout());
//构造函数
public Calculatort(String s){
super(s);
JB=new JButton("back");
JB.setForeground(new Color(0, 0, 255));
JCE=new JButton("C");
Jfu=new JButton("+/-");
jbsq=new JButton("√");
jbbai=new JButton("%");
jbdao=new JButton("1/x");

jbMc=new JButton("MC");
jbsin=new JButton("sin");
jb7=new JButton("7");
jb8=new JButton("8");
jb9=new JButton("9");
jbjia=new JButton("+");

jbMr=new JButton("MR");
jbcos=new JButton("cos");
jb4=new JButton("4");
jb5=new JButton("5");
jb6=new JButton("6");
jbjian=new JButton("-");


jbms=new JButton("MS");
jbtan=new JButton("tan");
jb1=new JButton("1");
jb2=new JButton("2");
jb3=new JButton("3");
jbcheng=new JButton("*");

jbM=new JButton("M+");
jbcot=new JButton("cot");
jb0=new JButton("0");
jbdot=new JButton(".");
jbdeng=new JButton("=");
jbchu=new JButton("/");
add(mainPane);
setSize(fSize);
setResizable(false);
setLocation(point);
CreateMenu();
Grid();
氧气网航 2010-06-04
  • 打赏
  • 举报
回复
氧气网航 2010-06-04
  • 打赏
  • 举报
回复
这年头人怎么都这么懒,我现在都在一行一行的努力
zhuyouyong 2010-06-04
  • 打赏
  • 举报
回复
顶[Quote=引用 6 楼 interamala 的回复:]
网上去找吧。。。。多得哭。。。。送点分给我吧。我只需要2分,下点东西。。
[/Quote]
interamala 2010-06-04
  • 打赏
  • 举报
回复
网上去找吧。。。。多得哭。。。。送点分给我吧。我只需要2分,下点东西。。
程序猿足迹 2010-06-03
  • 打赏
  • 举报
回复
网上好多的,可以搜一下呀。。。
andy2u 2010-06-03
  • 打赏
  • 举报
回复
留下E-mail给我,记得给我加分
dev_fred 2010-06-03
  • 打赏
  • 举报
回复
支持百度!
coooliang 2010-06-03
  • 打赏
  • 举报
回复
mark

你要这干嘛
tiamay 2010-06-03
  • 打赏
  • 举报
回复
百度一下吧 这样的程序多得很哦

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧