.设计一个简单计算器,JAVA

作者&投稿:漫视 (若有异议请与网页底部的电邮联系)
java设计一个计算器~

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class jisuanqi extends Applet implements ActionListener
{
double x=0;
double y=0;
double w;
int h=0;
TextField t=new TextField(15);
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 b0=new Button("0");
Button b10=new Button("+");
Button b11=new Button("-");
Button b12=new Button("*");
Button b13=new Button("/");
Button b14=new Button("C");
Button b15=new Button("=");

public void init()
{
setLayout(new BorderLayout());
add(t,"North");
Panel p1=new Panel();
add(p1,"Center");
p1.setLayout(new GridLayout(4,4,5,5));
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b14);
p1.add(b4);
p1.add(b5);
p1.add(b6);
p1.add(b10);
p1.add(b7);
p1.add(b8);
p1.add(b9);
p1.add(b11);
p1.add(b0);
p1.add(b12);
p1.add(b13);
p1.add(b15);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b0.addActionListener(this);
}

public void actionPerformed(ActionEvent e)
{
String ts=e.getActionCommand();
char ysf=ts.charAt(0);
if(ts=="C") t.setText("");
else if(ts=="+")
{
x=Integer.parseInt(t.getText());
t.setText("");
h=1;
}
else if(ts=="-")
{
x=Integer.parseInt(t.getText());
t.setText("");
h=2;
}
else if(ts=="*")
{
x=Integer.parseInt(t.getText());
t.setText("");
h=3;
}
else if(ts=="/")
{
x=Integer.parseInt(t.getText());
t.setText("");
h=4;
}
else if(ts.equals("="))
{
y=Integer.parseInt(t.getText());

switch(h)
{
case 1:w = x+y; break;
case 2:w = x-y; break;
case 3:w = x*y; break;
case 4:w = x/y;
}
t.setText(String.valueOf(w));
}
else
{
t.setText(t.getText()+ts);
}

}
}

无聊写了个,修复了下Bug:

import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class Calculate extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private JButton plus, reduce, multiply, divice, reset; private JTextField one, two, result; private boolean device_falg = false; private final int width = 400, height = 300; public Calculate() { super("修改密码"); this.setLayout(null); this.setSize(width, height); init(); Layout(); } public void init() { plus = new JButton("加 "); reduce = new JButton("减 "); multiply = new JButton("乘 "); divice = new JButton("除 "); reset = new JButton("清空"); one = new JTextField(); two = new JTextField(); result = new JTextField(); } public void Layout() { this.add(new JLabel("第一个数")).setBounds(20, 10, 60, 80); this.add(one).setBounds(100, 38, 100, 25); this.add(new JLabel("第二个数")).setBounds(20, 40, 60, 80); this.add(two).setBounds(100, 70, 100, 25); this.add(new JLabel("结果")).setBounds(20, 85, 60, 80); this.add(result).setBounds(100, 110, 100, 25); this.add(plus).setBounds(70, 170, 80, 25); this.add(reduce).setBounds(200, 170, 80, 25); this.add(multiply).setBounds(70, 200, 80, 25); this.add(divice).setBounds(200, 200, 80, 25); this.add(reset).setBounds(300, 220, 80, 25); plus.addActionListener(this); reduce.addActionListener(this); multiply.addActionListener(this); divice.addActionListener(this); reset.addActionListener(this); this.setVisible(true); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); } public boolean Format() { boolean FLAG = false; boolean flag = false; String one = this.one.getText().toString().trim(); String two = this.two.getText().toString().trim(); if (one == null || one.equals("") || two == null || two.equals("")) { JOptionPane.showMessageDialog(getParent(), "请输入完整信息!"); FLAG = false; flag = true; } boolean boll_1 = one.matches("[\\d]{1,100}"); boolean boll_2 = two.matches("[\\d]{1,100}"); boolean boll_3 = one.matches("[\\d]{1,100}+[.]+[\\d]{1,100}"); boolean boll_4 = two.matches("[\\d]{1,100}+[.]+[\\d]{1,100}"); if (flag) { return false; } if ((boll_1 && boll_2) || (boll_3 && boll_4) || (boll_1 && boll_4) || (boll_3 && boll_2)) { FLAG = true; } else { JOptionPane.showMessageDialog(getParent(), "请输入数字!"); FLAG = false; } if (FLAG && device_falg) { if (Double.parseDouble(two) == 0) { JOptionPane.showMessageDialog(getParent(), "被除数不能为0!"); FLAG = false; device_falg=false; } } return FLAG; } public double Plus(double one, double two) { return one + two; } public double Multiply(double one, double two) { return one * two; } public double Divice(double one, double two) { return one / two; } public double Reduce(double one, double two) { return one - two; } public void Clear() { one.setText(""); two.setText(""); result.setText(""); } @Override public void actionPerformed(ActionEvent e) { Object o = e.getSource(); if (o == reset) { Clear(); return; } if (o == divice) { device_falg = true; } if (!Format()) { return; } double one = Double.parseDouble(this.one.getText()); double two = Double.parseDouble(this.two.getText()); double result = 0; if (o == plus) { result = Plus(one, two); } else if (o == reduce) { result = Reduce(one, two); } else if (o == multiply) { result = Multiply(one, two); } else if (o == divice) { result = Divice(one, two); } this.result.setText("" + result); } public static void main(String[] args) { new Calculate(); }}

以下是我按你的需求手写的代码,希望对你有所帮助,望采纳

import java.awt.*;
import java.awt.event.*;

public class Test extends Frame{
public static void main(String args[]) {
new Test();
}

TextField number1 = new TextField();
TextField number2 = new TextField();
TextField result = new TextField();
Button plus = new Button("+");
Button subtract = new Button("-");
Button multiply = new Button("×");
Button divide = new Button("÷");
double num1,num2,resl;

Test(){
setLayout(null); 
// 关闭窗口
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setBounds(200, 100, 400, 300);
setTitle("简单计算器"); 
// 设置窗口是否可变大小
setResizable(false);
setVisible(true);
number1.setBounds(100, 80, 150, 20);
add(number1);
number2.setBounds(100, 130, 150, 20);
add(number2);
result.setBounds(100, 180, 150, 20);
add(result);

plus.setBounds(300, 55, 80, 20);
add(plus);
plus.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (number1.getText().trim() != "" && number2.getText().trim() != "") {
num1 = Double.parseDouble(number1.getText().trim());
num2 = Double.parseDouble(number2.getText().trim());
resl = num1 + num2;
result.setText(String.valueOf(resl));
number1.setText("");
number2.setText("");
}
}
});
subtract.setBounds(300, 105, 80, 20);
add(subtract);
subtract.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (number1.getText().trim() != "" && number2.getText().trim() != "") {
num1 = Double.parseDouble(number1.getText().trim());
num2 = Double.parseDouble(number2.getText().trim());
resl = num1 - num2;
result.setText(String.valueOf(resl));
number1.setText("");
number2.setText("");
}
}
});
multiply.setBounds(300, 155, 80, 20);
add(multiply);
multiply.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (number1.getText().trim() != "" && number2.getText().trim() != "") {
num1 = Double.parseDouble(number1.getText().trim());
num2 = Double.parseDouble(number2.getText().trim());
resl = num1 * num2;
result.setText(String.valueOf(resl));
number1.setText("");
number2.setText("");
}
}
});
divide.setBounds(300, 205, 80, 20);
add(divide);
divide.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (number1.getText().trim() != "" && number2.getText().trim() != "") {
num1 = Double.parseDouble(number1.getText().trim());
num2 = Double.parseDouble(number2.getText().trim());
resl = num1 / num2;
result.setText(String.valueOf(resl));
number1.setText("");
number2.setText("");
}
}
});
}

public void paint(Graphics g) {
g.setColor(Color.LIGHT_GRAY);
g.fillRect(20, 45, 250, 230);
g.setColor(Color.BLACK);
g.drawString("操作数", 60, 95);
g.drawString("操作数", 60, 145);
g.drawString("结果", 70, 195);
}
}


package zhidao;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class TestComputer extends JFrame implements ActionListener{
 private JTextField op1;
 private JTextField op2;
 private JTextField result;
 private JButton add;
 private JButton del;
 private JButton mul;
 private JButton mod;
 public TestComputer() {
  
  setBounds(200, 200, 400, 300);
  setResizable(false);
  getContentPane().setLayout(null);
  
  JPanel panel = new JPanel();
  panel.setBounds(33, 25, 176, 215);
  getContentPane().add(panel);
  panel.setLayout(null);
  
  JLabel label = new JLabel("\u64CD\u4F5C\u65701");
  label.setBounds(10, 28, 54, 15);
  panel.add(label);
  
  JLabel label_1 = new JLabel("\u64CD\u4F5C\u65702");
  label_1.setBounds(10, 69, 54, 15);
  panel.add(label_1);
  
  JLabel label_2 = new JLabel("\u7ED3\u679C");
  label_2.setBounds(10, 138, 54, 15);
  panel.add(label_2);
  
  op1 = new JTextField();
  op1.setBounds(74, 25, 92, 21);
  panel.add(op1);
  op1.setColumns(10);
  
  op2 = new JTextField();
  op2.setBounds(74, 66, 92, 21);
  panel.add(op2);
  op2.setColumns(10);
  
  result = new JTextField();
  result.setBounds(74, 135, 92, 21);
  panel.add(result);
  result.setColumns(10);
  
  add = new JButton("+");
  add.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
   }
  });
  add.setBounds(283, 35, 93, 23);
  getContentPane().add(add);
  add.addActionListener(this);
  
  del = new JButton("-");
  del.setBounds(283, 74, 93, 23);
  getContentPane().add(del);
  del.addActionListener(this);
  
  mul = new JButton("*");
  mul.setBounds(283, 118, 93, 23);
  getContentPane().add(mul);
  mul.addActionListener(this);
  
  mod = new JButton("÷");
  mod.setBounds(283, 164, 93, 23);
  getContentPane().add(mod);
  mod.addActionListener(this);
 }
 @Override
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  String text1 = op1.getText();
  String text2 = op2.getText();
  Double opr1 = Double.valueOf(text1);
  Double opr2 = Double.valueOf(text2);
  
  Object source = e.getSource();
  if(add == source){
   result.setText(opr1+opr2+"");
  }
  if(del == source){
   result.setText(opr1-opr2+"");
  }
  if(mul == source){
   result.setText(opr1*opr2+"");
  }
  if(mod == source){
   result.setText(opr1/opr2+"");
  }
 }
 
 public static void main(String[] args) {
  new TestComputer().setVisible(true);
 }
}


操作类:

  

public class text {

    //加
    public double add(double one ,double two){
        double result = one + two;
        return result;
    }
    //减
    public double add(double one ,double two){
        double result = one - two;
        return result;
    }
    //乘
    public double take(double one ,double two){
        double result = one * two;
        return result;
    }
    //除
    public double divide(double one ,double two){
        double result = one/two;
        return result;
    }
}


这个其他一点也不简单 5 QB 帮你搞定

java的swing 图形界面 GUI做


如何设计一个表单实现简单的计算器功能
设计步骤如下:注意只是参考一下,具体你自己看着弄,大致如下 (1)建立应用程序用户界面。选择“新建”表单,进入表单设计器,增加一个文本框控件Textl、一个标签控件Label1和一个命令按钮组CommandGroup1,并将命令按钮组的ButtonCount属性改为16。(2)设置对象属性如下表所示:CommandGroup1中各按钮的属性...

想自己设计个计算器,可以进行一些简单数学运算的,学过电路atm52单片机...
读取相应按键-》在LCD显示显示->再接收相关信同时息-》再显示-》最 后将结果在LCD上显示。电源部分选用7805或者78M05,同时不要忘了EA脚接高电平,设计的电阻电容复位电路和晶 振;同时在VDD引脚处一定加0.1 uF的陶瓷电容,保证稳定性;编程软件建议选用KeilC,辅以proteus实现软仿真,最后用编程器将...

设计一个简单的计算器,完成两个数的加、减、乘、除。用select case实现...
Private Function asmdOperator(ByVal a As Integer, ByVal b As Integer, ByVal operator1 As Char) As Integer Select Case operator1 Case "+"Return a + b Case "-"Return a - b Case "*"Return a * b Case "\/"Return a \/ b Case Else Throw New ApplicationException("错误的运算...

设计并实现一个简单的计算器c++
}double myMod(int x,int y){ return(x % y);}double myExponible(double x,double y){ return(pow(x,y));}int _tmain(int argc, _TCHAR* argv[]){ double a,b; char oper;\/\/operation,操作符,operand 操作数 cout<<"请输入2个实数和1个四则运算的符号(同时为0,退出程序)...

用Java设计一个简单的计算器。
无聊写了个,修复了下Bug:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class Calculate extends JFrame implements Action...

用java程序设计一简易计算器:可以实现+,—,*,\/,%和三角运算。急用...
2011-06-12 用JAVA实现一个简单的计算器。支持+、—、*、\/、%运算及... 2015-11-22 用Java编写一个计算器,实现+,-,*,\/,%,++,--... 2 2017-03-18 用java设计一个简单计算器,要求能进行+、-、*、\/四则运... 2 2011-09-14 求简单JAVA程序代码,能操作的,简单的计算器有计算功能+-... 1...

C语言问题: 设计一个简易计算器,要求:能够进行任意多个数的加减乘除四...
include <stdio.h> define stack_init_size 100 \/\/初始化栈大小 int zhuanhuan(char a,char b){int i,j;int precede[7][7]={ {1,1,-1,-1,-1,1,1},{1,1,-1,-1,-1,1,1},{1,1,1,1,-1,1,1},{1,1,1,1,-1,1,1},{-1,-1,-1,-1,-1,0,2},{1,1,1,1...

实现一个简单的“计算器”的设计
token = getchar(); \/*载入第一个符号*\/ result = exp(); \/*进行计算*\/ if( token == '\\n' ) \/* 是否一行结束 *\/ printf( " >> 表达式的计算结果为 : %d\\n", result );else error(); \/* 出现了例外的字符 *\/ puts("\\n\\n 请按任意键退出 ...\\n");getch();return ...

设计一个简单的计算器程序,从键盘输入“+ 3 5 ”代表表达式“3+5”,程...
include <iostream> using namespace std; double add(double x,double y) {return (x+y);} double minus(double x,double y) {return (x-y);} double multi(double x,double y) {return (x*y);} double div(double x,double y) {return (x\/y);} double Calculate(double,double,...

设计一个59进制计算器,画出电路图,并标上所用器件
如图所示。

和政县13536404714: 用Java编写一个简单的计算器程序 -
仇琳金嗓: import javax.swing.*; import java.awt.event.*; class Counter extends WindowAdapter { static JFrame f=new JFrame("计算器"); static JTextField text1=new JTextField("0."); static String source=""; static String cal=""; static String ...

和政县13536404714: java设计一个简单的计算器,要求根据输入的操作数和运算符(+ - */)计算其值? -
仇琳金嗓: include<iostream> float a,b,m=1; string n; while(m==1){ cin>>a>>b; cin>>n; switch(n){ case `+` : cout<<a<<"+"<<b<<"="<<a+b<<end1; break; case `-` : cout<<a<<"-"<<b<<"="<<a-b<<end1; break; case `*` : cout<<a<<"*"<<b<<"="<<...

和政县13536404714: 怎样用JAVA语言编写一个简单的计算器界面 -
仇琳金嗓: import java.awt.FlowLayout; import java.awt.TextArea;import javax.swing.*;public class MyFrame extends JFrame { public static void main(String[] args) {new MyFrame();} public MyFrame() {

和政县13536404714: JAVA编写简单的计算器 -
仇琳金嗓: import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; ...

和政县13536404714: 怎么用Java编个简单计算器
仇琳金嗓: import java.awt.*; import javax.swing.*; import java.awt.event.*; class Counter extends WindowAdapter { static JFrame f=new JFrame("计算器"); static JTextField text1=new JTextField("0."); static String source=""; static String cal=""; ...

和政县13536404714: 如何用JAVA编写一个简单的计算器??? -
仇琳金嗓: /** @version 1.32 2004-05-05 @author Cay Horstmann */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { public static void main(String[] args) { CalculatorFrame frame = new CalculatorFrame(); frame....

和政县13536404714: Java简单的计算器 设计一个简单计算器,如下图所示.在“操作数”标签右侧的两个文本框输入操作数,当 单击操作符+, - ,*,÷按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的 文本框中.画面效果如下图 -
仇琳金嗓: http://wenku.baidu.com/view/700fe3f2b9f3f90f76c61b33.html --Alex

和政县13536404714: java编写简易计算器
仇琳金嗓: package calculator; import java.awt.Toolkit; import javax.swing.SwingUtilities; import javax.swing.UIManager; import java.awt.Dimension; public class Calculator { boolean packFrame = false;public Calculator() { CalculatorFrame frame = new ...

和政县13536404714: JAVA编写一个简单的计算器,要求用户在界面上输入两个数,能够自动计算出它们的和 -
仇琳金嗓: 输入数字后,敲回车开始自动计算 import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing....

和政县13536404714: 用JAVA做简单计算器 -
仇琳金嗓: 看看我写得把,还不错,楼主给我追加点分吧 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private Container container; private GridBagLayout layout; private GridBagConstraints ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网