導航:首頁 > 編程語言 > java加減乘除計算器

java加減乘除計算器

發布時間:2022-05-04 16:50:18

1. java:編寫一個計算器小程序,要求可以做加減乘除運算

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener{
private static final long serialVersionUID = 8199443193151152362L;
private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),
bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),
bto_6=new JButton("6"),bto_cheng=new JButton("*"),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),
bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton("."),bto_deng=new JButton("="),bto_jia=new JButton("+");
JButton button[]={bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,
bto_0,bto_dian,bto_deng,bto_jia};
private JTextField text_double;// = new JTextField("0");
private String operator = "="; //當前運算的運算符
private boolean firstDigit = true; // 標志用戶按的是否是整個表達式的第一個數字,或者是運算符後的第一個數字
private double resultNum = 0.0; // 計算的中間結果
private boolean operateValidFlag = true; //判斷操作是否合法
public Calculator()
{
super("Calculator");
this.setBounds(300, 300, 300, 300);
this.setResizable(false);
this.setBackground(Color.orange);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());//設置布局
text_double=new JTextField("0",20);//設置文本區
text_double.setHorizontalAlignment(JTextField.RIGHT);//設置水平對齊方式未右對齊
this.getContentPane().add(text_double,BorderLayout.NORTH);//將文本區添加到Content北部
JPanel panel=new JPanel(new GridLayout(5,4));//在內容窗口添加一個網格布局
this.getContentPane().add(panel);//添加panel面板
for(int i=0;i<button.length;i++)//在面板上添加按鈕
panel.add(button[i]);

for(int i=0;i<button.length;i++)
button[i].addActionListener(this);//為按鈕注冊
text_double.setEditable(false);//文本框不可編輯
text_double.addActionListener(this);//

this.setVisible(true);
}
public void actionPerformed(ActionEvent e)//
{
String c= e.getActionCommand();//返回與此動作相關的命令字元串。
System.out.println("##########command is "+c);
if(c.equals("C")){
handleC(); //用戶按了「C」鍵
}
else if (c.equals("CE")) // 用戶按了"CE"鍵
{
text_double.setText("0");
}
else if ("0123456789.".indexOf(c) >= 0) // 用戶按了數字鍵或者小數點鍵
{
handleNumber(c); // handlezero(zero);
} else //用戶按了運算符鍵
{
handleOperator(c);
}
}
private void handleC() // 初始化計算器的各種值
{
text_double.setText("0");
firstDigit = true;
operator = "=";
}
private void handleNumber(String button) {
if (firstDigit)//輸入的第一個數字
{
text_double.setText(button);
} else if ((button.equals(".")) && (text_double.getText().indexOf(".") < 0))//輸入的是小數點,並且之前沒有小數點,則將小數點附在結果文本框的後面
//如果字元串參數作為一個子字元串在此對象中出現,則返回第一個這種子字元串的第一個字元的索引;如果它不作為一個子字元串出現,則返回 -1
{
text_double.setText(text_double.getText() + ".");
} else if (!button.equals("."))// 如果輸入的不是小數點,則將數字附在結果文本框的後面
{
text_double.setText(text_double.getText() + button);
}
// 以後輸入的肯定不是第一個數字了
firstDigit = false;
}
private void handleOperator(String button) {

if (operator.equals("/")) {
// 除法運算
// 如果當前結果文本框中的值等於0
if (getNumberFromText() == 0.0){
// 操作不合法
operateValidFlag = false;
text_double.setText("除數不能為零");
} else {
resultNum /= getNumberFromText();
}
} else if (operator.equals("+")){
// 加法運算
resultNum += getNumberFromText();
} else if (operator.equals("-")){
// 減法運算
resultNum -= getNumberFromText();
} else if (operator.equals("*")){
// 乘法運算
resultNum *= getNumberFromText();
} else if (operator.equals("sqrt")) {
// 平方根運算
if(getNumberFromText()<0){
operateValidFlag = false;
text_double.setText("被開方數不能為負數");}
else
resultNum = Math.sqrt(resultNum);
}
else if (operator.equals("+/-")){
// 正數負數運算
resultNum = resultNum * (-1);
} else if (operator.equals("=")){
// 賦值運算
resultNum = getNumberFromText();
}
if (operateValidFlag) {
// 雙精度浮點數的運算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0) {
text_double.setText(String.valueOf(t1));
} else {
text_double.setText(String.valueOf(resultNum));
}
}
operator = button; //運算符等於用戶按的按鈕
firstDigit = true;
operateValidFlag = true;
}
private double getNumberFromText() //從結果的文本框獲取數字
{
double result = 0;
try {
result = Double.valueOf(text_double.getText()).doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 實例
} catch (NumberFormatException e){
}
return result;
}
public static void main(final String[] args) {
new Calculator();
}
}

2. 如何用java編寫一個簡單的計算器,只要能進行最基本的加減乘除運算就可以了,本人急用,簡單易懂即可,大

簡單的啊,我有個自己編的完美的,不過給你改成簡單的吧。有注釋。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.text.*;

public class Calculator extends JFrame implements ActionListener
{
int m=0,i,n=0;
float sum=0,s1,s2,equ;
String v="";
JPanel delete_main = new JPanel();
JPanel delete = new JPanel();
JPanel buttons = new JPanel();

JTextField text = new JTextField("0");

JButton backspace = new JButton("Backspace");
JButton c = new JButton("C");
JButton ce = new JButton("CE");
JButton bt1= new JButton("1");
JButton bt2= new JButton("2");
JButton bt3= new JButton("3");
JButton bt4= new JButton("+");
JButton bt5 = new JButton("4");
JButton bt6= new JButton("5");
JButton bt7= new JButton("6");
JButton bt8= new JButton("-");
JButton bt9= new JButton("7");
JButton bt10= new JButton("8");
JButton bt11= new JButton("9");
JButton bt12= new JButton("*");
JButton bt13= new JButton("0");
JButton bt14= new JButton(".");
JButton bt15= new JButton("=");
JButton bt16= new JButton("/");

public Calculator()
{
super("簡易計算器--超人不會飛榮譽出品");
delete.setLayout(new GridLayout(1, 3, 15, 15));
delete.add(backspace);
delete.add(c);
delete.add(ce);
delete.setBorder(new LineBorder(delete.getBackground(), 5));//添加邊框
c.addActionListener(this);
ce.addActionListener(this);
backspace.addActionListener(this);
text.setFont(new Font("宋體", Font.BOLD +Font.ITALIC, 20));
// 設置顯示字體
text.setBackground(Color.getHSBColor(44, 3, 87));
text.setBorder(new LineBorder(Color.ORANGE, 1));
text.setHorizontalAlignment(SwingConstants.RIGHT); // 設置滑鼠靠右
text.setEditable(false); // 屏蔽鍵盤輸入,防止非法字元
delete_main.setLayout(new GridLayout(2, 1, 10, 10));
delete_main.add(text, BorderLayout.NORTH);
delete_main.add(delete, BorderLayout.SOUTH);
buttons.setLayout(new GridLayout(4, 5, 10, 20));

bt1.addActionListener(this); // 為各個按鈕添加事件監聽
buttons.add(bt1);
bt2.addActionListener(this);
buttons.add(bt2);
bt3.addActionListener(this);
buttons.add(bt3);
bt4.addActionListener(this);
buttons.add(bt4);
bt5.addActionListener(this);
buttons.add(bt5);
bt6.addActionListener(this);
buttons.add(bt6);
bt7.addActionListener(this);
buttons.add(bt7);
bt8.addActionListener(this);
buttons.add(bt8);
bt9.addActionListener(this);
buttons.add(bt9);
bt10.addActionListener(this);
buttons.add(bt10);
bt11.addActionListener(this);
buttons.add(bt11);
bt12.addActionListener(this);
buttons.add(bt12);
bt13.addActionListener(this);
buttons.add(bt13);
bt14.addActionListener(this);
buttons.add(bt14);
bt15.addActionListener(this);
buttons.add(bt15);
bt16.addActionListener(this);
buttons.add(bt16);

buttons.setBorder(new LineBorder(delete.getBackground(), 5));//邊框
this.setLayout(new BorderLayout());
this.add(delete_main, BorderLayout.NORTH);
this.add(buttons, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //添加關閉窗口事件監聽器
pack(); //自動設置窗體大小
setResizable(false); // 設置面板大小不可變
setVisible(true);
Toolkit tk = this.getToolkit();
Dimension de = tk.getScreenSize();
setBounds((de.width - this.getWidth()) / 2,(de.height - this.getHeight()) / 2, this.getWidth(), this.getHeight());
//使之居於屏幕正中央
}
public void actionPerformed(ActionEvent e)
{ //事件響應
//Object source = e.getSource();
if(e.getSource()==backspace) //退格鍵
{
v=v.substring(0,v.length() - 1);
text.setText(v);
}
if(e.getSource()==c||e.getSource()==ce) //清空鍵
{
m=0;
sum=0;
v="";s1=0;s2=0;i=0;
text.setText("0");
}
if(e.getSource()==bt1)
{
if(m==1)
v="";
v=v+"1";
text.setText(v);
m=0;n=1;

}
if(e.getSource()==bt2)
{
if(m==1)
v="";
v=v+"2";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt3)
{
if(m==1)
v="";
v=v+"3";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt4) // +按鈕
{
if(n==1) //如果按之前按了0~9數字鍵,就運算
{
sum=Float.parseFloat(v);

}
else //如果按之前沒按0~9數字鍵,直接按了運算符,不做任何操作
{
}
i=1;
m=1;n=0;
}
if(e.getSource()==bt5)
{
if(m==1)
v="";
v=v+"4";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt6)
{
if(m==1)
v="";
v=v+"5";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt7)
{
if(m==1)
v="";
v=v+"6";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt8) // -按鈕
{
if(n==1)
{
sum=Float.parseFloat(v);

}
else
{
}
i=2;
m=1;n=0;
}
if(e.getSource()==bt9)
{
if(m==1)
v="";
v=v+"7";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt10)
{
if(m==1)
v="";
v=v+"8";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt11)
{
if(m==1)
v="";
v=v+"9";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt12) //*按鈕
{
if(n==1)
{
sum=Float.parseFloat(v);

}
else
{
}
i=3;
m=1;n=0;

}
if(e.getSource()==bt13)
{
if(m==1)
v="";
v=v+"0";
text.setText(v);
m=0;n=1;
}
if(e.getSource()==bt14)
{

}
if(e.getSource()==bt15) //等於按鈕
{
if(m==1) // 如果輸入了+=等非法輸入,不做任何操作
{ }
else
{
s1=sum;
s2=Float.parseFloat(v);
switch(i)
{
case 0: //如果按過數字鍵後直接按等號,直接輸出
equ=Float.parseFloat(v);
break;
case 1:
equ=s1+s2;
break;
case 2:
equ=s1-s2;
break;
case 3:
equ=s1*s2;
break;
case 4:
equ=s1/s2;
break;
}

sum=0;v=""; //清空運算數
v=String.valueOf(equ);
text.setText(String.valueOf(equ));
i=0;
}
}
if(e.getSource()==bt16) // 除按鈕
{
if(n==1)
{
sum=Float.parseFloat(v);

}
else
{
}
i=4;
m=1;n=0;
}

}
public static void main(String[] args)
{
Calculator bt=new Calculator();
}
}

3. 求簡單java寫計算器代碼加減乘除

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener
{
private boolean dotExist, operated, equaled; // 幫助運算的布爾變數
private double storedNumber; // 目前的結果
private char lastOperator; // 表示上一運算符
private JTextField operation; // 結果欄
private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 運算符
private JButton[] numbers; // 數字

// 構造者
public Calculator()
{
setTitle("Calculator");
// 初始化變數
dotExist = false; // 表示當前的數是否有小數點
operated = false; // 表示任意運算符是否被按下
equaled = false; // 表示等號是否被按下
storedNumber = 0;
lastOperator = '?';
// 初始化窗口變數
operation = new JTextField("0");
operation.setEditable(false);
numbers = new JButton[10];
for (int i = 0; i < 10; i++)
numbers[i] = new JButton("" + i);
dot = new JButton(".");
plus = new JButton("+");
minus = new JButton("-");
multi = new JButton("*");
div = new JButton("/");
sqrt = new JButton("√");
equal = new JButton("=");
changePN = new JButton("±");
clear = new JButton("AC");
// 將窗口物體放入窗口
GridBagLayout layout = new GridBagLayout();
getContentPane().setLayout(layout);
addComponent(layout, operation, 0, 0, 4, 1);
addComponent(layout, numbers[1], 1, 0, 1, 1);
addComponent(layout, numbers[2], 1, 1, 1, 1);
addComponent(layout, numbers[3], 1, 2, 1, 1);
addComponent(layout, numbers[4], 2, 0, 1, 1);
addComponent(layout, numbers[5], 2, 1, 1, 1);
addComponent(layout, numbers[6], 2, 2, 1, 1);
addComponent(layout, numbers[7], 3, 0, 1, 1);
addComponent(layout, numbers[8], 3, 1, 1, 1);
addComponent(layout, numbers[9], 3, 2, 1, 1);
addComponent(layout, dot, 4, 0, 1, 1);
addComponent(layout, numbers[0], 4, 1, 1, 1);
addComponent(layout, sqrt, 4, 2, 1, 1);
addComponent(layout, plus, 1, 3, 1, 1);
addComponent(layout, minus, 2, 3, 1, 1);
addComponent(layout, multi, 3, 3, 1, 1);
addComponent(layout, div, 4, 3, 1, 1);
addComponent(layout, equal, 5, 0, 2, 1);
addComponent(layout, changePN, 5, 2, 1, 1);
addComponent(layout, clear, 5, 3, 1, 1);
}

// 對按鈕進行反應的方法
public void actionPerformed(ActionEvent e)
{
JButton btn = (JButton)e.getSource();
if (btn == clear)
{
operation.setText("0");
dotExist = false;
storedNumber = 0;
lastOperator = '?';
}
else if (btn == equal)
{
operate('=');
equaled = true;
}
else if (btn == plus)
{
operate('+');
equaled = false;
}
else if (btn == minus)
{
operate('-');
equaled = false;
}
else if (btn == multi)
{
operate('*');
equaled = false;
}
else if (btn == div)
{
operate('/');
equaled = false;
}
else if (btn == changePN)
{
operate('p');
operate('=');
equaled = true;
}
else if (btn == sqrt)
{
operate('s');
operate('=');
equaled = true;
}
else
{
if (equaled)
storedNumber = 0;
for (int i = 0; i < 10; i++)
if (btn == numbers[i])
{
if (operation.getText().equals("0"))
operation.setText("" + i);
else if(! operated)
operation.setText(operation.getText() + i);
else
{
operation.setText("" + i);
operated = false;
}
}
if (btn == dot && ! dotExist)
{
operation.setText(operation.getText() + ".");
dotExist = true;
}
}
}
// 進行運算的方法
private void operate(char operator)
{
double currentNumber = Double.valueOf(operation.getText()).doubleValue();
if (lastOperator == '?')
storedNumber = currentNumber;
else if (lastOperator == '+')
storedNumber += currentNumber;
else if (lastOperator == '-')
storedNumber -= currentNumber;
else if (lastOperator == '*')
storedNumber *= currentNumber;
else if (lastOperator == '/')
storedNumber /= currentNumber;
else if (lastOperator == 'p')
storedNumber *= -1;
else if (lastOperator == 's')
storedNumber = Math.sqrt(currentNumber);
else if (lastOperator == '=' && equaled)
storedNumber = currentNumber;
operation.setText("" + storedNumber);
operated = true;
lastOperator = operator;
}

// 快捷使用GridBagLayout的方法
private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height)
{
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.insets = new Insets(10, 2, 10, 2);
constraints.weightx = 100;
constraints.weighty = 100;
constraints.gridx = col;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(component, constraints);
if (component instanceof JButton)
((JButton)component).addActionListener(this);
getContentPane().add(component);
}

// 主方法初始化並顯示窗口
public static void main(String[] args)
{
Calculator calc = new Calculator();
calc.setSize(290, 400);
calc.setVisible(true);
}
}

4. 用java編寫一個簡單的計算器(包括加減乘除)圖形界面

public class ItemEvent事件

{
public static void main(String args[])
{
WindowOperation win=new WindowOperation();
win.setBounds(100,100,390,360);
win.setTitle("簡單計算器");
}
}

import java.awt.event.*;
import javax.swing.*;
public class OperatorListener implements ItemListener
{
JComboBox choice;
ComputerListener workTogether;
public void setJComboBox(JComboBox box)
{
choice=box;
}
public void setWorkTogether(ComputerListener computer)
{
workTogether=computer;
}
public void itemStateChanged(ItemEvent e)
{
String fuhao=choice.getSelectedItem().toString();
workTogether.setFuhao(fuhao);
}
}

5. 用java編程加減乘除計算器

剛好用設計模式(簡單工廠模式)編寫了一個計算器。

packagecom.medavis.simplefactory.ui;

importjava.util.Scanner;

importcom.medavis.simplefactory.operate.OperatorFactory;

publicclassCaculatorUI{

privatestaticScannersc;

publicstaticvoidmain(String[]args){

try{
System.out.println("Pleaseinputanumber:");

sc=newScanner(System.in);

longfirst=sc.nextLong();

System.out.println("(+-*/):");

sc=newScanner(System.in);

Stringoperator=sc.nextLine();

System.out.println("Pleaseinputanumber:");

sc=newScanner(System.in);

longsecond=sc.nextLong();

OperatorFactoryopf=newOperatorFactory();

System.out.println(first+operator+second+"="+opf.getOperator(operator).getResult(first,second));

}catch(Exceptione){

System.out.println("Yourinputiswrong!");

}
}
}packagecom.medavis.simplefactory.operate;


{

@Override
publiclonggetResult(longfirst,longsecond){

returnfirst+second;

}
}
packagecom.medavis.simplefactory.operate;


{

@Override
publiclonggetResult(longfirst,longsecond){

returnfirst/second;

}
}

packagecom.medavis.simplefactory.operate;


publicclassOperatorFactory{

publicOperatorgetOperator(Stringoperator)throwsException{
switch(operator){
case"+":
returnnewOperatorAdd();
case"-":
returnnewOperatorSub();
case"*":
returnnewOperatorMul();
case"/":
returnnewOperatorDiv();
default:
thrownewException();
}
}

}


packagecom.medavis.simplefactory.operate;


{

@Override
publiclonggetResult(longfirst,longsecond){

returnfirst*second;

}
}

packagecom.medavis.simplefactory.operate;


{

@Override
publiclonggetResult(longfirst,longsecond){

returnfirst-second;

}
}


6. 用Java編寫一個簡單的計算器界面,並且可以實現加減乘除計算,很簡單一個就可以了,還需要一個歸零按

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();
}

}

7. 如何使用Java對象語言編寫一個加減乘除計算器要有代碼

下面文件名要為:JiSuanQi.java

importjava.awt.*;

importjava.awt.event.*;

publicclassJiSuanQi

{

Strings="",s1=null,s2=null;

Framef=newFrame("計算器");

TextFieldtf=newTextField(30);

Panelp1=newPanel();

Panelp2=newPanel();

Panelp3=newPanel();

Buttonbt1=newButton("=");

Buttonbt2=newButton("刪除");

Button[]bt=newButton[16];

intid=0;

publicstaticvoidmain(String[]args)

{

newJiSuanQi().init();

}

publicvoidinit()

{

f.setBackground(newColor(85,247,253));

f.setLayout(newBorderLayout(4,4));

p2.setLayout(newGridLayout(4,4,4,4));

p3.setLayout(newBorderLayout(4,4));

f.setResizable(false);

f.add(p1,BorderLayout.NORTH);

f.add(p2);

p3.add(bt2,BorderLayout.NORTH);

p3.add(bt1);

p1.add(tf);

f.add(p3,BorderLayout.EAST);

String[]b={"1","2","3","+","4","5","6","-","7","8","9","*","0",".","復位","/"};

for(inti=0;i<16;i++)

{

bt[i]=newButton(b[i]);

p2.add(bt[i]);

}

bt[0].setForeground(Color.blue);

bt[1].setForeground(Color.blue);

bt[2].setForeground(Color.blue);

bt[4].setForeground(Color.blue);

bt[5].setForeground(Color.blue);

bt[6].setForeground(Color.blue);

bt[8].setForeground(Color.blue);

bt[9].setForeground(Color.blue);

bt[10].setForeground(Color.blue);

bt[12].setForeground(Color.blue);

bt[13].setForeground(Color.blue);

bt[3].setForeground(Color.red);

bt[7].setForeground(Color.red);

bt[11].setForeground(Color.red);

bt[15].setForeground(Color.red);

bt[14].setForeground(Color.red);

bt1.setForeground(Color.red);

bt2.setForeground(Color.red);

f.pack();

f.setVisible(true);

f.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

System.exit(0);

}

}

);

bt[0].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=1;

s2+=1;

tf.setText(s);

}

}

);

bt[1].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=2;

s2+=2;

tf.setText(s);

}

}

);

bt[2].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=3;

s2+=3;

tf.setText(s);

}

}

);

bt[4].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=4;

s2+=4;

tf.setText(s);

}

}

);

bt[5].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=5;

s2+=5;

tf.setText(s);

}

}

);

bt[6].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=6;

s2+=6;

tf.setText(s);

}

}

);

bt[8].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=7;

s2+=7;

tf.setText(s);

}

}

);

bt[9].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=8;

s2+=8;

tf.setText(s);

}

}

);

bt[10].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=9;

s2+=9;

tf.setText(s);

}

}

);

bt[12].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+=0;

s2+=0;

tf.setText(s);

}

}

);

bt[13].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s+='.';

s2+='.';

tf.setText(s);

}

}

);

bt[3].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s1=s;

s+='+';

id=1;

s2="";

tf.setText(s);

}

}

);

bt[7].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s1=s;

s+='-';

id=2;

s2="";

tf.setText(s);

}

}

);

bt[11].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s1=s;

s+='*';

id=3;

s2="";

tf.setText(s);

}

}

);

bt[14].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s="";

s2="";

tf.setText(s);

}

}

);

bt[15].addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

s1=s;

s+='/';

id=4;

s2="";

tf.setText(s);

}

}

);

bt1.addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

if(id<1);

else{

s+='=';

doublea=Double.parseDouble(s1);

doubleb=Double.parseDouble(s2);

doublec=0;

switch(id)

{

case1:c=a+b;break;

case2:c=a-b;break;

case3:c=a*b;break;

case4:c=a/b;break;

}

s+=c;

tf.setText(s);

}

s="";s1="";s2="";id=0;

}

}

);

bt2.addActionListener(newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{

char[]c1;

char[]c2=newchar[s.length()-1];

c1=s.toCharArray();

for(inti=0;i<s.length()-1;i++)

c2[i]=c1[i];

s=s.valueOf(c2);

if(id<1)

{

s1=s;

}

if(s2.length()>=1)

{

char[]c3;

char[]c4=newchar[s2.length()-1];

c3=s2.toCharArray();

for(inti=0;i<s2.length()-1;i++)

c4[i]=c3[i];

s2=s2.valueOf(c4);

}

tf.setText(s);

}

}

);

}

}

8. JAVA製作一個簡單的計算器。能實現兩個數的加、減、乘、除四則運算

importjava.util.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.applet.*;

{
booleani=true;
privateJButtonnum0=newJButton("0");
privateJButtonnum1=newJButton("1");
privateJButtonnum2=newJButton("2");
privateJButtonnum3=newJButton("3");
privateJButtonnum4=newJButton("4");
privateJButtonnum5=newJButton("5");
privateJButtonnum6=newJButton("6");
privateJButtonnum7=newJButton("7");
privateJButtonnum8=newJButton("8");
privateJButtonnum9=newJButton("9");
privateJButtonzuok=newJButton("(");
privateJButtonyouk=newJButton(")");
privateJButtondian=newJButton(".");
privateJButtonNULL=newJButton("N");
privateJButtonplu=newJButton("+");
privateJButtonmin=newJButton("-");
privateJButtonmul=newJButton("x");
privateJButtondiv=newJButton("/");
privateJButtonequ=newJButton("=");
privateJButtoncle=newJButton("C");//清除
privateJTextFieldspace=newJTextField(15);

publicvoidinit(){
JPaneltext=newJPanel();
text.setLayout(newFlowLayout());
text.add(space);
JPanelbuttons=newJPanel();
buttons.setLayout(newGridLayout(5,4));
buttons.add(num9);
buttons.add(num8);
buttons.add(num7);
buttons.add(plu);
buttons.add(num6);
buttons.add(num5);
buttons.add(num4);
buttons.add(min);
buttons.add(num3);
buttons.add(num2);
buttons.add(num1);
buttons.add(mul);
buttons.add(num0);
buttons.add(cle);
buttons.add(equ);
buttons.add(div);

(num9).addActionListener(this);
(num8).addActionListener(this);
(num7).addActionListener(this);
(num6).addActionListener(this);
(num5).addActionListener(this);
(num4).addActionListener(this);
(num3).addActionListener(this);
(num2).addActionListener(this);
(num1).addActionListener(this);
(num0).addActionListener(this);
(plu).addActionListener(this);
(min).addActionListener(this);
(mul).addActionListener(this);
(div).addActionListener(this);
(equ).addActionListener(this);
(cle).addActionListener(this);

setLayout(newBorderLayout());
add("North",text);
add("South",buttons);
space.setText("0");
}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==num9){
if(i==true){
space.setText("9");
i=false;
}else
space.setText(space.getText()+'9');
}
if(e.getSource()==num8){
if(i==true){
space.setText("8");
i=false;
}else
space.setText(space.getText()+'8');
}
if(e.getSource()==num7){
if(i==true){
space.setText("7");
i=false;
}else
space.setText(space.getText()+'7');
}
if(e.getSource()==num6){
if(i==true){
space.setText("6");
i=false;
}else
space.setText(space.getText()+'6');
}
if(e.getSource()==num5){
if(i==true){
space.setText("5");
i=false;
}else
space.setText(space.getText()+'5');
}
if(e.getSource()==num4){
if(i==true){
space.setText("4");
i=false;
}else
space.setText(space.getText()+'4');
}
if(e.getSource()==num3){
if(i==true){
space.setText("3");
i=false;
}else
space.setText(space.getText()+'3');
}
if(e.getSource()==num2){
if(i==true){
space.setText("2");
i=false;
}else
space.setText(space.getText()+'2');
}
if(e.getSource()==num1){
if(i==true){
space.setText("1");
i=false;
}else
space.setText(space.getText()+'1');
}
if(e.getSource()==num0){
if(i==true){
space.setText("0");
i=false;
}else
space.setText(space.getText()+'0');
}

if(e.getSource()==plu){
space.setText(space.getText()+'+');
i=false;
}
if(e.getSource()==min){
space.setText(space.getText()+'-');
i=false;
}
if(e.getSource()==mul){
space.setText(space.getText()+'*');
i=false;
}
if(e.getSource()==div){
space.setText(space.getText()+'/');
i=false;
}
if(e.getSource()==equ){
space.setText(String.valueOf(Calculator(space.getText())));
i=true;
}
if(e.getSource()==cle){
space.setText("0");
i=true;
}

}

publicdoubleCalculator(Stringf)//科學計算
{
inti=0,j=0,k;
charc;
StringBuffers=newStringBuffer();
s.append(f);
s.append('=');
Stringformula=s.toString();
char[]anArray;
anArray=newchar[50];
Stack<Character>mystack=newStack<Character>();
while(formula.charAt(i)!='='){
c=formula.charAt(i);
switch(c){

case'+':
case'-':
while(!mystack.empty()&&mystack.peek().charValue()!='('){
anArray[j++]=mystack.pop().charValue();

}
mystack.push(newCharacter(c));
i++;
break;
case'*':
case'/':
while(!mystack.empty()
&&(mystack.peek().charValue()=='*'||mystack.peek()
.charValue()=='/')){
anArray[j++]=mystack.pop().charValue();
}
mystack.push(newCharacter(c));
i++;
break;
case'':
i++;
break;
default:
while((c>='0'&&c<='9')||c=='.'){
anArray[j++]=c;
i++;
c=formula.charAt(i);
}
anArray[j++]='#';
break;
}
}
while(!(mystack.empty()))
anArray[j++]=mystack.pop().charValue();

i=0;
intcount;
doublea,b,d;
Stack<Double>mystack1=newStack<Double>();
while(i<j){
c=anArray[i];
switch(c){
case'+':
a=mystack1.pop().doubleValue();
b=mystack1.pop().doubleValue();
d=b+a;
mystack1.push(newDouble(d));
i++;
break;
case'-':
a=mystack1.pop().doubleValue();
b=mystack1.pop().doubleValue();
d=b-a;
mystack1.push(newDouble(d));
i++;
break;
case'*':
a=mystack1.pop().doubleValue();
b=mystack1.pop().doubleValue();
d=b*a;
mystack1.push(newDouble(d));
i++;
break;
case'/':
a=mystack1.pop().doubleValue();
b=mystack1.pop().doubleValue();
if(a!=0){
d=b/a;
mystack1.push(newDouble(d));
i++;
}else{
System.out.println("Error!");
}
break;
default:
d=0;
count=0;
while((c>='0'&&c<='9')){
d=10*d+c-'0';
i++;
c=anArray[i];
}
if(c=='.'){
i++;
c=anArray[i];
while((c>='0'&&c<='9')){
count++;
d=d+(c-'0')/Math.pow(10,count);
i++;
c=anArray[i];
}
}
if(c=='#')
mystack1.push(newDouble(d));
i++;
break;
}
}
return(mystack1.peek().doubleValue());
}
}

你看看這個合適不?

9. JAVA寫個簡易的計算器。只要加減乘除四個運算。三個文本框分別為輸入的兩個字元和結果。四個按鈕加減乘除

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JOptionPane;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

{

privateString[]str={"7","8","9","/","sqrt",

"4","5","6","*","%",

"1","2","3","-","1/x",

"0","+/-",".","+","="};

privateJTextFieldtf_out;

privateJButtonjb_bk,jb_ce,jb_c;

privateJButton[]jb_key;

privatecharch='#';

privatebooleancan=false;

privatedoublenum1;

publicvoidcreatGUI(){

tf_out=newJTextField();

tf_out.setHorizontalAlignment(JTextField.RIGHT);

tf_out.setColumns(18);

tf_out.setEditable(false);//設置輸出不可編輯

tf_out.setText("0");

this.add(tf_out,BorderLayout.NORTH);

JPanelp=newJPanel(newBorderLayout(3,8));

JPanelp1=newJPanel(newGridLayout(1,3,3,10));

p.add(p1,"North");

jb_bk=newJButton("Backspace");

jb_bk.setForeground(Color.RED);

jb_bk.addActionListener(this);

jb_ce=newJButton("CE");

jb_ce.setForeground(Color.RED);

jb_ce.addActionListener(this);

jb_c=newJButton("C");

jb_c.setForeground(Color.RED);

jb_c.addActionListener(this);

p1.add(jb_bk);

p1.add(jb_ce);

p1.add(jb_c);

JPanelp2=newJPanel(newGridLayout(4,5,3,3)); p.add(p2,BorderLayout.CENTER);

jb_key=newJButton[str.length];

for(inti=0;i<str.length;i++){

jb_key[i]=newJButton(str[i]);

jb_key[i].addActionListener(this);

if(i==3||i==8||i==13||i==18||i==19){

jb_key[i].setForeground(Color.RED);

}else{

jb_key[i].setForeground(Color.BLUE);

}

p2.add(jb_key[i]);

}

this.add(p,BorderLayout.CENTER);

this.setTitle("計算器");

this.setIconImage(newImageIcon("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);

this.setVisible(true);

}

publicstaticvoidmain(String[]args){

newGS().creatGUI();

}

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

Stringact=e.getActionCommand();

//控制鍵

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

if(tf_out.getText().length()>1){

tf_out.setText(tf_out.getText().substring(0,tf_out.getText().length()-1));

}else{

tf_out.setText("0");

}

return;

}elseif(e.getSource()==jb_ce||e.getSource()==jb_c){

tf_out.setText("0");

ch='#';

return;

}

//數字鍵

if(act=="0"){

if(!tf_out.getText().equals("0")){

tf_out.setText(tf_out.getText());

}

}elseif(act=="1"||act=="2"||act=="3"||act=="4"||act=="5"

||act=="6"||act=="7"||act=="9"){

tf_out.setText(tf_out.getText());

}

//運算符

if(act.equals("+/-")){

if(tf_out.getText().charAt(0)!='-'){

tf_out.setText("-"+tf_out.getText());

}else{

tf_out.setText(tf_out.getText().substring(1));

}

}elseif(act.equals(".")){

tf_out.setText(tf_out.getText()+act);

ch='#';

}elseif(act!="1/x"&&act.charAt(0)>='0'&&act.charAt(0)<='9'){

if(can){

tf_out.setText(act);

can=false;

}else{

try{

if(Double.parseDouble(tf_out.getText())==0){

if(tf_out.getText().equals("0.")){

tf_out.setText(tf_out.getText()+act);

}else{

tf_out.setText(act);

}

}else{

tf_out.setText(tf_out.getText()+act);

}

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

}

}

}elseif(act.equals("+")||act.equals("-")||act.equals("*")

||act.equals("/")){

if(ch!='#'){

try{

num1=operation(num1,ch,Double.parseDouble(tf_out.getText()));

tf_out.setText(String.valueOf(num1));

ch=act.charAt(0);

can=true;

return;

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

return;

}

}else{

try{

num1=Double.parseDouble(tf_out.getText());

ch=act.charAt(0);

can=true;

return;

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

return;

}

}

}elseif(act.equals("sqrt")){

try{

doublenum=(double)Math.sqrt(Double.parseDouble(tf_out.getText()));

tf_out.setText(String.valueOf(num));

can=true;

return;

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

}

}elseif(act.equals("1/x")){

try{

doublenum=1/Double.parseDouble(tf_out.getText());

tf_out.setText(String.valueOf(num));

can=true;

return;

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

return;

}catch(ArithmeticExceptione1){

JOptionPane.showMessageDialog(null,"除0錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

}

}elseif(act.equals("=")){

can=true;

try{

if(ch=='#'){

return;

}

doublenum=Double.parseDouble(tf_out.getText());

num1=operation(num1,ch,num);

tf_out.setText(String.valueOf(num1));

ch='#';

return;

}catch(NumberFormatExceptione1){

JOptionPane.showMessageDialog(null,"輸入格式錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

return;

}

}elseif(act.equals("%")){

doublenum=Double.valueOf(tf_out.getText()).doubleValue();

tf_out.setText(String.valueOf(num1));

doublesum=(num1*num)/100;

tf_out.setText(String.valueOf(sum));

return;

}

}

//運算

publicdoubleoperation(doublea,charc,doubleb){

doublesum;

switch(c){

case'+':

sum=a+b;

break;

case'-':

sum=a-b;

break;

case'*':

sum=a*b;

break;

case'/':

if(b==0){

JOptionPane.showMessageDialog(null,"除0錯誤!","警告!",JOptionPane.ERROR_MESSAGE);

return0;

}

sum=a/b;

break;

default:

return0;

}

returnsum;

}

}

10. 用java編寫一個簡單計算器只有加減乘除就行,在控制台輸入誰加誰得誰就行

importjava.util.*;
publicclassTestSum{
staticScannersc=newScanner(System.in);

publicstaticvoidmain(String[]args){
while(true){
init();
}
}
privatestaticvoidinit(){
System.out.println("請輸入算數表達式如:1+1回車即可:");
Stringstr=sc.nextLine();
if(!str.matches("[^a-zA-Z()&^#$@!~]+")){
System.out.println("輸入錯誤重輸:請輸入算數表達式如:1+1回車即可:");
str=sc.nextLine();
}
intq=0,h=0,sum=0;
charchs='';
for(inti=0;i<str.length();i++){
chs=str.charAt(i);
if(chs=='+'||chs=='-'||chs=='*'||chs=='/'){
q=Integer.valueOf(str.substring(0,i));
h=Integer.valueOf(str.substring(i+1,str.length()));
switch(chs){
case'+':
sum=q+h;
break;
case'-':
sum=q-h;
break;
case'*':
sum=q*h;
break;
default:
sum=q/h;
break;
}
break;
}
}
System.out.println("結果="+sum+" 繼續下一輪:");
}
}

閱讀全文

與java加減乘除計算器相關的資料

熱點內容
如何壓縮文件夾聯想電腦 瀏覽:583
程序員的學習之旅 瀏覽:440
apkdb反編譯 瀏覽:922
雪花演算法為什麼要二進制 瀏覽:825
在文檔中打開命令行工具 瀏覽:608
android圖標尺寸規范 瀏覽:369
python實用工具 瀏覽:208
流量計pdf 瀏覽:936
科東加密認證價格 瀏覽:532
dos命令讀文件 瀏覽:996
成為程序員需要什麼學歷 瀏覽:672
pdf農葯 瀏覽:228
canal加密 瀏覽:497
日本安卓系統和中國有什麼區別 瀏覽:137
linux命令行修改文件 瀏覽:838
從編譯和解釋的角度看 瀏覽:649
徐志摩pdf 瀏覽:651
夏天解壓球視頻 瀏覽:304
全封閉壓縮機qd91h 瀏覽:668
如何在我的世界免費開一個伺服器 瀏覽:329