求助,一个计算器的括号功能怎么写啊。

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

import java.awt.event.*;

public class computer1 extends JFrame implements ActionListener{

Double r1,r2,total,c1,c2;

int i,j,j1=10,j2=7,c;

JButton[] Button1,Button2;

String str1=new String();

String str2=new String();

String str=new String();

String strr=new String();

boolean flag=true;

Container cp;

JLabel output=new JLabel("输出");

JTextField outarea=new JTextField(10);

JButton Button3=new JButton("=");

JButton clear=new JButton("清除");

JButton exit=new JButton("退出");

JMenuBar menubar=new JMenuBar();

JMenu now =new JMenu("文件(F)");

JMenu edit=new JMenu("编辑(E)");

JMenu help=new JMenu("帮助(H)");

JMenu format=new JMenu("格式(O)");

JMenuItem properties=new JMenuItem("属性",'P');

JMenuItem editer=new JMenuItem("退出",'X');

JMenuItem naw =new JMenuItem("新建",'N');

JMenuItem open=new JMenuItem("打开",'O');

JMenuItem paste=new JMenuItem("复制",'C');

JMenuItem cut=new JMenuItem("剪切",'X');

JMenuItem delet=new JMenuItem("删除",'D');

JMenuItem Auok=new JMenuItem("自动换行",'W');

JMenuItem font=new JMenuItem("字体",'F');

JMenuItem about=new JMenuItem("关于..",'A');

public computer1(){

super("祥祥的简单的计算器");

super.setJMenuBar(menubar);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(300,300);

now .add(naw);naw.setEnabled(false);

now.add(open);open.setEnabled(false);

now.add(properties); properties.setEnabled(false);

now.add(editer); editer.addActionListener(new exit());

edit.add(paste); paste.setEnabled(false);

edit.add(cut);cut.setEnabled(false);

edit.add(delet);delet.setEnabled(false);

format.add(Auok);Auok.setEnabled(false);

format.add(font);font.setEnabled(false);

help.add(about);about.addActionListener(new message());

now.setMnemonic('F');

edit.setMnemonic('E');

format.setMnemonic('F');

help.setMnemonic('H');

menubar.add(now);

menubar.add(edit);

menubar.add(format);

menubar.add(help);

BorderLayout layout1=new BorderLayout();

GridLayout layout2=new GridLayout(4,4,6,6);

cp=getContentPane();

JPanel panel1=new JPanel(new GridLayout(2,1));

panel1.add(output);

panel1.add(outarea);

cp.add("North",panel1);

JPanel panel2=new JPanel(layout2);

Button1=new JButton[j1];

Button2=new JButton[j2];

Button2[2]=new JButton("*");

Button2[3]=new JButton("%");

Button2[4]=new JButton("(");

Button2[5]=new JButton(")");

Button1[1]=new JButton("1");

Button1[2]=new JButton("2");

Button1[3]=new JButton("3");

Button2[0]=new JButton("+");

Button1[4]=new JButton("4");

Button1[5]=new JButton("5");

Button1[6]=new JButton("6");

Button2[1]=new JButton("-");

Button1[7]=new JButton("7");

Button1[8]=new JButton("8");

Button1[9]=new JButton("9");

Button1[0]= new JButton("0");

for (i=0 ;i<10;i++) {

panel2.add(Button1[i]);

Button1[i].addActionListener(this);

};

for (j=0 ;j<6;j++) {

panel2.add(Button2[j]);

Button2[j].addActionListener(new operation());

};

Button3=new JButton("=");

JPanel panel3=new JPanel(new GridLayout());

panel3.add(Button3);

panel3.add(clear);

panel3.add(exit);

cp.add("Center",panel2);

cp.add("South",panel3);

Button3.addActionListener(this);

clear.addActionListener(this);

exit.addActionListener(new exit());

}

public void clear(){

this.total=0.0 ;

this.str=this.str1=" ";

this.str1=" ";

this.str2=" ";

outarea.setText(" ");

flag=true;

}

class exit implements ActionListener{

public void actionPerformed(ActionEvent e)

{System.exit(0);}

}

public void actionPerformed(ActionEvent e){

for(i=0;i<10;i++){

if(e.getSource()==Button1[i]){

if(flag){

str=str.valueOf(i);

str1+=str;

outarea.setText(str1);

r1=Double.parseDouble(str1);

}

else{

str=str.valueOf(i);

str2+=str;

outarea.setText(str2);

r2=Double.parseDouble(str2);

}

}

}

if(e.getSource()==clear) clear();

if(e.getSource()==Button3){

total=0.00;

switch(c){

case 0:total=r1+r2;outarea.setText(strr.valueOf(total));strr=strr.valueOf(total);break;

case 1:total=r1-r2;outarea.setText(strr.valueOf(total));strr=strr.valueOf(total);break;

case 2:total=r1*r2;outarea.setText(strr.valueOf(total));strr=strr.valueOf(total);break;

case 3:total=r1/r2;outarea.setText(strr.valueOf(total));strr=strr.valueOf(total);break;

}

}

}

class operation implements ActionListener{

public void actionPerformed(ActionEvent a){

for(j=0;j<4;j++)

if(a.getSource()==Button2[j]){

c=j;

char aa[ ]=new char[4];

aa[0]='+';aa[1]='-';aa[2]='*';aa[3]='/';

str=str.valueOf(aa[j]);

outarea.setText(str);

flag=false;

}

}

}

class message extends JFrame implements ActionListener{

public void actionPerformed(ActionEvent e){

JFrame frame=new JFrame("信息...");

frame.setSize(60,250);

frame.getContentPane().setLayout(new FlowLayout());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

JLabel label1=new JLabel("关于作者信息:" );

JLabel label2=new JLabel("祥。");

frame.getContentPane().add(label1);

frame.getContentPane().add(label2);

}

}

public static void main(String[] args){

computer1 fr= new computer1();

fr.setVisible(true);

fr.pack();

}

}

图片附件: 游客没有浏览图片的权限,请 登录 或 注册

我就是实现不了括号功能,请同道友人指点一下,谢谢。

还有我觉得我的计算器还有一些不好的地方,请大家指点一下。修正一下。

java语言计算器怎么写_求助,一个计算器的括号功能怎么写啊。相关推荐

  1. java 语言转 c 命令_求助大神!!!JAVA转换成C语言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //此处不要看,c++应该内置了这个函数,不需要自定义 Array.prototype.remove = function(val) { var inde ...

  2. 第九届蓝桥杯省赛JAVA语言 C组题解_题7 缩位求和

    JAVA语言 C组题解_题7 缩位求和 题目 解题思路 题目 标题:缩位求和 在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确. 比如:248 * 15 = 3720 把乘数和被乘 ...

  3. c语言小学生四则运算出题_求助 设计一个小学生自助四则运算练习软件

    #include     /*是指标准库中输入输出流的头文件*/ void main() { char command_begin;  /*开始字符*/ double first_number; /* ...

  4. Java语言程序设计实验指导_《java语言程序设计》上机实验指导手册(4).doc

    <java语言程序设计>上机实验指导手册(4).doc 1JAVA语言程序设计上机实验指导手册(4)2实验四JAVA面向对象编程1[目的]①通过编程和上机实验理解JAVA语言是如何体现面向 ...

  5. java语言程序设计期中考试_《java语言程序设计》期中试卷(答案).doc

    <java语言程序设计>期中试卷(答案).doc JAVA语言程序设计期中试卷第1页共6页2009-2010学年第一学期JAVA语言程序设计期中试卷(答案)院系计算机年级2006专业计算机 ...

  6. java语言开发手机游戏_手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系...

    手机上的JAVA游戏和JAVA软件,是电脑上的JAVA语言编写的吗?他们之间有什么联系以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  7. java做度量衡换算器_单位换算计算器(度数换算计算器)

    有没有适合win7系统的单位换算器,可以推荐安装? 或是比较好用的在线换. import java.awt.event.*; import javax.swing.*; import java.awt ...

  8. java语言程序设计精编_全国精编月高等教育自学考试Java语言程序设计一试题

    <全国精编月高等教育自学考试Java语言程序设计一试题>由会员分享,可在线阅读,更多相关<全国精编月高等教育自学考试Java语言程序设计一试题(12页珍藏版)>请在人人文库网上 ...

  9. ts与JAVA的语法很像_半天掌握TypeScript,感觉就像写Java

    本文转载自微信公众号「小姐姐味道」,作者小姐姐养的狗 .转载本文请联系小姐姐味道公众号. 前端那么多酷炫的东西,真是太好玩了.但是,JavaScript是个拦路虎,尤其是熟悉了Java之类的强类型检查 ...

最新文章

  1. linux运行jar文件
  2. C#实验报告 类与对象的访问性:银行账户存取款、新建账户、查询余额
  3. 动手造轮子:实现一个简单的依赖注入(二) --- 服务注册优化
  4. 员工薪酬管理设计方案
  5. LeetCode-3. 无重复字符的最长子串
  6. php对象方法调用静态方法,php面向对象之静态方法使用
  7. [转载] 杜拉拉升职记
  8. 电子邮箱地址怎么写?
  9. java解析加密excel,java poi 打开加密 excel?该怎么处理
  10. python爬虫之scrapy
  11. 嵌入式Linux MIPI接口LCD调试-关于DRM显示与应用调试的干货浓缩
  12. linux系统scsi硬盘,Linux系统SCSI磁盘管理全攻略(一)
  13. Vision.CascadeObjectDetector-VJ算法学习
  14. iOS安全—防注入hook api “-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null”
  15. 2018年外链发布平台
  16. vsphere虚拟化备份解决方案
  17. 带宽计算方式,视频通讯上行下行服务器需求
  18. 一次成功的创业至少需要10年的时间
  19. 数据结构PTA 案例6-1.6 哈利·波特的考试
  20. oracle日期计算

热门文章

  1. 链接聚合是将一组物理接口_500字描述华为VLAN聚合工作原理 你看懂了吗?
  2. 跨设备链路聚合_路由与交换技术(华为设备)第五讲---链路聚合
  3. python简单实践作业答案_python入门实践四:爬取牛客网面试专项练习题及答案
  4. Python实现给指定的微信朋友发信息
  5. 卖萌屋新闻联播栏目,倾情上线~
  6. 论文浅尝 - CIKM2021 | DT-GCN: 一种双曲空间中的数据类型感知的知识图谱表示学习模型...
  7. 工程实践:基于规则句法的事件关系与主谓宾三元组抽取项目实现
  8. laravel的重定向
  9. day27 CRM delete action 嵌入CRM
  10. 设计模式之适配器模式(Adapter Pattern)