java迷你计算器代码 java简易计算器代码

JAVA简单咋做,计算器代码简单写java迷你计算器代码了下java迷你计算器代码,代码如下请参照java迷你计算器代码:
/**
* 计算器类
*
* @author Administrator
*
*/
public class Calculator extends JFrame implements ActionListener {
private static final long serialVersionUID = 3868243398506940702L;
// 文本框
private JTextField result;
// 按钮数组
private JButton[] buttons;
// 按钮文本
private final String[] characters = { "7", "8", "9", "/", "4", "5", "6",
"*", "1", "2", "3", "-", "0", ".", "=", " " };
// 是否为第一个输入的数字
private boolean isFirstDigit = true;
// 运算结果
private double resultNum = 0.0;
// 运算符
private String operator = "=";
public Calculator(String title) {
// 设置标题栏
super(title);
// 初始化各组件
init();
// 注册各组件监听器
registerListener();
// 显示窗体
setVisible(true);
}
/**
* 初始化各组件
*/
private void init() {
// 常用属性初始化
setSize(220, 200);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
/* 文本框对象初始化 */
result = new JTextField("0");
// 文本右对齐
result.setHorizontalAlignment(JTextField.RIGHT);
// 设置是否可编辑
result.setEditable(false);
/* 按钮初始化 */
buttons = new JButton[characters.length];
for (int i = 0; ibuttons.length; i) {
buttons[i] = new JButton(characters[i]);
buttons[i].setFocusable(false); // 不允许按钮定位焦点
}
/* 将文本框与按钮添加到窗体中 */
add(result, BorderLayout.NORTH);
JPanel pnl = new JPanel(new GridLayout(4, 4, 5, 5));
for (JButton jButton : buttons) {
pnl.add(jButton);
}
add(pnl);
this.getContentPane().setFocusable(true);
}
/**
* 注册监听器
*/
private void registerListener() {
for (JButton jButton : buttons) {
jButton.addActionListener(this);
}
// 注册键盘事件
this.getContentPane().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
String text = String.valueOf(e.getKeyChar());
if (Character.isDigit(text.charAt(0)) || ".".equals(text)) { // 数字或小数点
handleNumber(text);
} else if (" -*/=".indexOf(text) != -1) { // 运算符
handleOperator(text);
} else if (e.getKeyCode() == 8) { // 退格键
String tmp = result.getText().trim();
if (tmp.length() == 1) {
result.setText("0");
isFirstDigit = true;
} else {
result.setText(tmp.substring(0, tmp.length() - 1));
}
}
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
String text = btn.getText().trim();
if (Character.isDigit(text.charAt(0)) || ".".equals(text)) { // 处理数字和小数点
handleNumber(text);
} else { // 处理运算符
handleOperator(text);
}
}
/**
* 处理数字和小数点
*
* @param text
*/
private void handleNumber(String text) {
if (isFirstDigit) { // 第一次输入
if (".".equals(text)) {
this.result.setText("0.");
} else {
this.result.setText(text);
}
} else if ("0".equals(text)"0".equals(this.result.getText())) {
isFirstDigit = true;
return;
} else if (".".equals(text)this.result.getText().indexOf(".") == -1) {
this.result.setText(this.result.getText()".");
} else if (!".".equals(text)) {
this.result.setText(this.result.getText()text);
}
isFirstDigit = false;
}
/**
* 处理运算符
*
* @param text
*/
private void handleOperator(String text) {
switch (operator) { // 处理各项运算适用于JDK1.7版本的
case " ":
resultNum= Double.parseDouble(this.result.getText());
break;
case "-":
resultNum -= Double.parseDouble(this.result.getText());
break;
case "*":
resultNum *= Double.parseDouble(this.result.getText());
break;
case "/":
resultNum /= Double.parseDouble(this.result.getText());
break;
case "=":
resultNum = Double.parseDouble(this.result.getText());
break;
}
// 将文本框的值修改为运算结果
this.result.setText(String.valueOf(resultNum));
// 将点击的运算符放入operator保存
operator = text;
// 下一个数字第一次点击
isFirstDigit = true;
}
public static void main(String[] args) {
new Calculator("My Calculator");
}
}
运行结果如下:
如何用Java编程迷你计算器现在是一段核心程序,只有单位数的四则运算,需要实现多位数运算和小数点功能 , 最好还有正负号 。万分感谢!
import java.awt.*;
import java.applet.*;
public class calc10 extends Applet {
char key,prevopr;
float ans,num;
char[] btext={'0','1','2','3','4','5',
'6','7','8','9','-',' ','*','/'};
Button[] buttons = new Button[btext.length];
public void init() {
for (int i=0; ibtext.length; i) {
buttons[i] = new Button("" btext[i]);
add(buttons[i]);
}
}
public float apply(float num1, char opr, float num2) {
switch (opr) {
case ' ': return(ans num);
case '-': return(ans-num);
case '*': return(ans*num);
case '/': return(ans/num);
default: return(num);
}
}
public boolean action(Event evt,Object arg){
key = ((String)arg).charAt(0);
if(key='0'key='9') {
num = (float)(key-'0');
showStatus("" key);
} else {
ans = apply(ans,prevopr,num);
showStatus( ""ans );
prevopr=key;
}
return true;
}
}
JAVA迷你计算器程序import java.awt.Button;
import java.awt.Event;
import javax.swing.JFrame;
import java.applet.Applet;
public class Calc10 extends Applet {
char prevopr;
String num1, num2;
char[] btext={'0','1','2','3','4','5','6','7','8','9','-',' ','*','/','='};
Button[] buttons = new Button[btext.length];
public void init() {
prevopr=0;
num1="";
num2="";
for (int i=0; ibtext.length; i) {
buttons[i] = new Button("" btext[i]);
add(buttons[i]);
}
}
public float apply(float num1, char opr, float num2) {
switch (opr) {
case ' ': return(num1 num2);
case '-': return(num1-num2);
case '*': return(num1*num2);
case '/': return(num1/num2);
default: return(num1);
}
}
public boolean action(Event evt, Object arg){
char key = ((String)arg).charAt(0);
if(key='0'key='9') {
showStatus("" key);
if(prevopr==0){
num1= "" key;
}else{
num2= "" key;
}
} else if(key=='=') {
float ans = apply(Float.parseFloat(num1), prevopr, Float.parseFloat(num2));
showStatus( ""ans );
prevopr=0;
num1="";
num2="";
} else {
prevopr=key;
showStatus( ""prevopr );
}
return true;
}
//Application时使用方法 。applet时,屏蔽此方法
public void showStatus(String s){
System.out.println(s);
}
public static void main(String args[]){
Calc10 calc = new Calc10();
calc.init();
JFrame f=new JFrame("Calc10");
f.setSize(400, 500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(calc);
f.setVisible(true);
}
}
如何用JAVA语言编写计算器小程序?具体代码如下java迷你计算器代码:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Calculatorextends JFrame implements ActionListener{
private JFrame jf;
private JButton[] allButtons;
private JButton clearButton;
private JTextField jtf;
public Calculator() {
//对图形组件实例化
jf=new JFrame("任静java迷你计算器代码的计算器1.0java迷你计算器代码:JAVA版");
jf.addWindowListener(new WindowAdapter(){
public void windowClosing(){
System.exit(0);
}
});
allButtons=new JButton[16];
clearButton=new JButton("清除");
jtf=new JTextField(25);
jtf.setEditable(false);
String str="123 456-789*0.=/";
for(int i=0;iallButtons.length;i){
allButtons[i]=new JButton(str.substring(i,i 1));
}
}
public void init(){
//完成布局
jf.setLayout(new BorderLayout());
JPanel northPanel=new JPanel();
JPanel centerPanel=new JPanel();
JPanel southPanel=new JPanel();
northPanel.setLayout(new FlowLayout());
centerPanel.setLayout(new GridLayout(4,4));
southPanel.setLayout(new FlowLayout());
northPanel.add(jtf);
for(int i=0;i16;i){
centerPanel.add(allButtons[i]);
}
southPanel.add(clearButton);
jf.add(northPanel,BorderLayout.NORTH);
jf.add(centerPanel,BorderLayout.CENTER);
jf.add(southPanel,BorderLayout.SOUTH);
addEventHandler();
}
//添加事件监听
public void addEventHandler(){
jtf.addActionListener(this);
for(int i=0;iallButtons.length;i){
allButtons[i].addActionListener(this);
}
clearButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Calculator.this.jtf.setText("");
}
});
}
//事件处理
public void actionPerformed(ActionEvent e) {
//在这里完成事件处理使计算器可以运行
String action=e.getActionCommand();
if(action==" "||action=="-"||action=="*"||action=="/"){
}
}
public void setFontAndColor(){
Font f=new Font("宋体",Font.BOLD,24);
jtf.setFont(f);
jtf.setBackground(new Color(0x8f,0xa0,0xfb));
for(int i=0;i16;i){
allButtons[i].setFont(f);
allButtons[i].setForeground(Color.RED);
}
}
public void showMe(){
init();
setFontAndColor();
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new Calculator().showMe();
}
}
【java迷你计算器代码 java简易计算器代码】关于java迷你计算器代码和java简易计算器代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读