用JAVA编写一个简单计算器????界面做出来了。

C语言 要求编写一个简单计算器的程序~

#includevoid main() { float x,y,z; char c; scanf("%f%c%f",&x,&c,&y); switch ( c ) { case '+': z=x+y; break; case '-': z=x-y; break; case '*': z=x*y; break; case '/': z=( y==0 )?(0):(x/y); break; default: z=0; break; } printf("%f%c%f=%f
",x,c,y,z);}

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class Calculator {

public static void main(String[] args) {
Frame f = new Frame("Calculator");

final TextField tf = new TextField();
Panel p = new Panel();

f.setLayout(new BorderLayout());
f.add(tf, BorderLayout.NORTH);
f.add(p, BorderLayout.CENTER);

p.setLayout(new GridLayout(4, 4));

Button one = new Button("1");
Button two = new Button("2");
Button three = new Button("3");
Button four = new Button("4");
Button five = new Button("5");
Button six = new Button("6");
Button seven = new Button("7");
Button eight = new Button("8");
Button nine = new Button("9");
Button zero = new Button("0");
Button add = new Button("+");
Button sub = new Button("-");
Button mul = new Button("*");
Button div = new Button("/");
Button decimal = new Button(".");
final Button equal = new Button("=");

p.add(one);
p.add(two);
p.add(three);
p.add(four);
p.add(five);
p.add(six);
p.add(seven);
p.add(eight);
p.add(nine);
p.add(zero);
p.add(add);
p.add(sub);
p.add(mul);
p.add(div);
p.add(decimal);
p.add(equal);

final String[] ary = {"", null, ""};

class NumMouseListener implements MouseListener{

public void mouseClicked(MouseEvent e) {
String num = ((Button)e.getSource()).getLabel().trim();
if(ary[1] == null){
ary[0] = ary[0] + "" + num;
}else{
ary[2] = ary[2] + "" + num;
}

tf.setText(tf.getText() + "" + num);
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}

}

one.addMouseListener(new NumMouseListener());
two.addMouseListener(new NumMouseListener());
three.addMouseListener(new NumMouseListener());
four.addMouseListener(new NumMouseListener());
five.addMouseListener(new NumMouseListener());
six.addMouseListener(new NumMouseListener());
seven.addMouseListener(new NumMouseListener());
eight.addMouseListener(new NumMouseListener());
nine.addMouseListener(new NumMouseListener());
zero.addMouseListener(new NumMouseListener());

class OperatotrMouseListener implements MouseListener{

public void mouseClicked(MouseEvent e) {
if(e.getSource() == equal){
try {
long result = calculate(Integer.parseInt(ary[0]), Integer.parseInt(ary[2]), ary[1]);
tf.setText(String.valueOf(result));

ary[0] = tf.getText();
ary[1] = null;
ary[2] = "";
} catch (Exception e1) {
e1.printStackTrace();
}
}else{
ary[1] = ((Button) e.getSource()).getLabel();

if(ary[0].length() > 0){
ary[2] = "";
}else{
ary[0] = String.valueOf(tf.getText());
}

tf.setText("");
}
}

private long calculate(int i, int j, String operator) throws Exception {
if(operator.equals("+")){
return i + j;
}else if(operator.equals("-")){
return i - j;
}else if(operator.equals("*")){
return i * j;
}else if(operator.equals("/")){
return i / j;
}else{
throw new Exception("Invalid operator.(Only +-/* accepted");
}
}

public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}

add.addMouseListener(new OperatotrMouseListener());
mul.addMouseListener(new OperatotrMouseListener());
div.addMouseListener(new OperatotrMouseListener());
sub.addMouseListener(new OperatotrMouseListener());
equal.addMouseListener(new OperatotrMouseListener());

f.addWindowListener(new WindowListener(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}

public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
});

f.setVisible(true);
f.setBounds(200, 200, 250, 250);
f.validate();
}

}

import sun.plugin.security.Broken11ClassFixer;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
public class Test extends JFrame{
private JTextField t1;
private JTextField t2;
private JTextField t3;
private JButton b1;
public Test(){
JPanel p1=new JPanel();
JPanel p2=new JPanel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT,4,3));
t1 = new JTextField("0",4);
t2 = new JTextField("0",4);
t3 = new JTextField(8);
b1 = new JButton("=");
p1.add(t1);
p1.add(new JTextField(" + "));
p1.add(t2);
p1.add(new JLabel("="));
p1.add(t3);
p2.add(b1,BorderLayout.CENTER);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t3.setText(Integer.toString(Integer.parseInt(t1.getText())+Integer.parseInt(t2.getText())));
}
});
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.SOUTH);
}

public static void main(String[] args){
Test frame=new Test();
frame.setTitle("计算器");
frame.setSize(300,100);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
帮你完善了下,其他来不及写了都是一样的,稍微改一下就行

这个行的话,留邮箱我发给你,或者到我空间里有代码!



用JAVA制作一个简单计算器
答:jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); jMenuItem1.setText("复制"); jMenu1.add(jMenuItem1); jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event...

java编写一个计算器类
答:super("计算器"); // 设定标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设定关闭窗体时退出程序JPanel pane = new JPanel(); // 定义主面板pane.setLayout(new BorderLayout());setBounds(380, 220, 30, 80); // 前两个参数是在屏幕上显示的坐标,后两个是大小// 替换图标ImageIcon icon =...

用JAVA编写一个简单的计算器,要求如下:
答:import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Stack;import javax.swing.JApplet;import javax.swing.JButton;import javax.s...

求JAVA编写的 简易计算器程序,附上注释
答:1、首先准备好软件即eclipse和java,下载安装完成后打开eclipse。2、点击左上角的file 新建一个project。3、给project取一个名字,其他的选项都是默认然后点击finish。4、接下来是新建一个class。5、在给class取名字的时候注意用英文名的首字母要大写。完成后点击finish。6、这就是开始写代码的工作台,将...

用java编写一个简单的计算器类
答:import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;class Stack_Float { float nums[]; int top; Stack_Float() { nums = new float[50]; top = -1; } boolean IsEmpty() { if (top ==...

编写一个JAVA计算器程序
答:编写一个模拟计算器的JavaApplet或JavaApplication程序,使用面板和网格布局,添加3个文本框,其中两个作为操作数使用,另一个作为显示使用,4个“加减乘除”运算符按钮,一个“等号”... 编写一个模拟计算器的Java Applet或Java Application程序,使用面板和网格布局,添加3个文本框,其中两个作为操作数使用,另一个作为显示...

用JAVA创建一个类似于简单计算器的应用程序
答:Frame fm = new Frame("简单计算器");for (int i = 0; i <= 16; i++) { b[i] = new Button(ss[i]);} for (int i = 0; i <= 15; i++) { p2.add(b[i]);} //创建按钮 并添加到P2 b[16].setBackground(Color.yellow);txt = new TextField(15);txt.setEditabl...

java 创建一个简单的计算器
答:import java.awt.*;import javax.swing.*;public class F { JFrame frame = new JFrame("计算机");JPanel pl = new JPanel();JPanel p2 = new JPanel();static JTextField show = new JTextField();static JButton b0 = new JButton("0");static JButton b1 = new JButton("1");s...

计算器制作JAVA版(第三步,表达式求值(+
答:1.首先思考一下制作计算器需要哪些Swing组件,下面列出一些制作计算器的一些常用组件:JFrame Jpanel JButton JTextField 2.选用布局管理器:这里采用的是GridBagLayout,即网格包布局管理器。3.如何处理按钮事件:这里可以分两种情况来考虑,一:处理0~9的数字按钮和"."按钮,这种按钮的单击事件很...

JAVA写个简易的计算器。只要加减乘除四个运算。三个文本框分别为输入的...
答:this.add(p, BorderLayout.CENTER); this.setTitle("计算器");this.setIconImage(new ImageIcon("image/1.jpg").getImage());this.setBackground(Color.LIGHT_GRAY);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setBounds((1280 - 300) / 2, (768 - 200) / 2, 340, 260);...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网