欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

計算器的代碼怎么編寫java,計算器制作代碼

編寫計算器java

僅供參考,最好自己親自動手寫,這樣才會有進(jìn)步

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,平頂山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平頂山等地區(qū)。平頂山做網(wǎng)站價格咨詢:13518219792

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class Jisuanqi extends JFrame implements ActionListener {

/**

*

*/

private static final long serialVersionUID = 1L;

Result result = new Result(); // 定義text的面板

Number_Key number_key = new Number_Key(); // 定義按鈕面板

// 當(dāng)點(diǎn)擊按鈕+、-、*、/時,com = true

boolean com = false;

// 當(dāng)i=0時說明是我們第一次輸入,字符串text不會累加

int i = 0;

// 存放text的內(nèi)容

String text = "";

// 存放點(diǎn)擊按鈕+、-、*、/之前的數(shù)值

double defbutton = 0;

// +、-、*、/的代號分別為1,2,3,4

int symbol = 0;

// 構(gòu)造函數(shù)

Jisuanqi() {

super("WangJiao"); // 設(shè)定標(biāo)題

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設(shè)定關(guān)閉窗體時退出程序

JPanel pane = new JPanel(); // 定義主面板

pane.setLayout(new BorderLayout());

setBounds(380, 220, 30, 80); // 前兩個參數(shù)是在屏幕上顯示的坐標(biāo),后兩個是大小

// 替換圖標(biāo)

ImageIcon icon = new ImageIcon("F:1.GIF");

// Jisuanqi.class.getResource("APPLE.GIF")

// );

setIconImage(icon.getImage());

pane.add(result, BorderLayout.NORTH);

pane.add(number_key, BorderLayout.CENTER);

pane.add(number_key.equal, BorderLayout.SOUTH);

number_key.one.addActionListener(this); // 對1按鈕添加監(jiān)聽事件

number_key.two.addActionListener(this); // 對2按鈕添加監(jiān)聽事件

number_key.three.addActionListener(this); // 對3按鈕添加監(jiān)聽事件

number_key.four.addActionListener(this); // 對4按鈕添加監(jiān)聽事件

number_key.five.addActionListener(this); // 對5按鈕添加監(jiān)聽事件

number_key.six.addActionListener(this); // 對6按鈕添加監(jiān)聽事件

number_key.seven.addActionListener(this); // 對7按鈕添加監(jiān)聽事件

number_key.eight.addActionListener(this); // 對8按鈕添加監(jiān)聽事件

number_key.nine.addActionListener(this); // 對9按鈕添加監(jiān)聽事件

number_key.zero.addActionListener(this); // 對0按鈕添加監(jiān)聽事件

number_key.ce.addActionListener(this); // 對置零按鈕添加監(jiān)聽事件

number_key.plus.addActionListener(this); // 對+按鈕添加監(jiān)聽事件

number_key.equal.addActionListener(this); // 對=按鈕添加監(jiān)聽事件

number_key.sub.addActionListener(this); // 對-按鈕添加監(jiān)聽事件

number_key.mul.addActionListener(this); // 對*按鈕添加監(jiān)聽事件

number_key.div.addActionListener(this); // 對/按鈕添加監(jiān)聽事件

number_key.point.addActionListener(this); // 對.按鈕添加監(jiān)聽事件

setContentPane(pane);

pack(); // 初始化窗體大小為正好盛放所有按鈕

}

// 各個按鈕觸發(fā)的事件

public void actionPerformed(ActionEvent e) {

/*

* 如果是點(diǎn)擊數(shù)字按鈕那么先要判斷是否在此之前點(diǎn)擊了+、-、*、/、=,如果是那么com=true 如果沒有com=

* false;或者是否點(diǎn)擊數(shù)字鍵,如果是i = 1,如果沒有 i = 0;

*/

if (e.getSource() == number_key.one) {

if (com || i == 0) {

result.text.setText("1");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "1");

}

} else if (e.getSource() == number_key.two) {

if (com || i == 0) {

result.text.setText("2");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "2");

}

} else if (e.getSource() == number_key.three) {

if (com || i == 0) {

result.text.setText("3");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "3");

}

} else if (e.getSource() == number_key.four) {

if (com || i == 0) {

result.text.setText("4");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "4");

}

} else if (e.getSource() == number_key.five) {

if (com || i == 0) {

result.text.setText("5");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "5");

}

} else if (e.getSource() == number_key.six) {

if (com || i == 0) {

result.text.setText("6");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "6");

}

} else if (e.getSource() == number_key.seven) {

if (com || i == 0) {

result.text.setText("7");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "7");

}

} else if (e.getSource() == number_key.eight) {

if (com || i == 0) {

result.text.setText("8");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "8");

}

} else if (e.getSource() == number_key.nine) {

if (com || i == 0) {

result.text.setText("9");

com = false;

i = 1;

} else {

text = result.text.getText();

result.text.setText(text + "9");

}

}

/*

* 對于0這個按鈕有一定的說法,在我的程序里不會出現(xiàn)如00000這樣的情況,我加了判斷條件就是

* 如果text中的數(shù)值=0就要判斷在這個數(shù)值中是否有.存在?如果有那么就在原來數(shù)值基礎(chǔ)之上添 加0;否則保持原來的數(shù)值不變

*/

else if (e.getSource() == number_key.zero) { // result.text.getText()是得到text里內(nèi)容的意思

if (com || i == 0) {

result.text.setText("0");

com = false;

i = 1;

} else {

text = result.text.getText();

if (Float.parseFloat(text) 0 || Float.parseFloat(text) 0) { // Float.parseFloat(text)就是類型轉(zhuǎn)換了,下面都是一樣

result.text.setText(text + "0");

} else {

if (text.trim().indexOf(".") == -1) {

result.text.setText(text);

} else {

result.text.setText(text + "0");

}

}

}

} else if (e.getSource() == number_key.ce) {

result.text.setText("0");

i = 0;

com = true;

// text = "";

defbutton = 0;

}

/*

* 本程序不會讓一個數(shù)值中出現(xiàn)2個以上的小數(shù)點(diǎn).具體做法是:判斷是否已經(jīng)存在.存在就不添加, 不存在就添加.

*/

else if (e.getSource() == number_key.point) {

if (com || i == 0) {

result.text.setText("0.");

com = false;

i = 1;

} else {

text = result.text.getText();

if (text.trim().indexOf(".") == -1) {

result.text.setText(text + ".");

} else {

result.text.setText(text);

}

}

} // 獲得點(diǎn)擊+之前的數(shù)值

else if (e.getSource() == number_key.plus) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 1;

} // 獲得點(diǎn)擊-之前的數(shù)值

else if (e.getSource() == number_key.sub) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 2;

} // 獲得點(diǎn)擊*之前的數(shù)值

else if (e.getSource() == number_key.mul) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

System.out.println(defbutton);

symbol = 3;

} // 獲得點(diǎn)擊/之前的數(shù)值

else if (e.getSource() == number_key.div) {

com = true;

i = 0;

defbutton = Double.parseDouble(result.text.getText());

symbol = 4;

} else if (e.getSource() == number_key.equal) {

switch (symbol) {

case 1: { // 計算加法

double ad = defbutton

+ Double.parseDouble(result.text.getText());

result.text.setText(ad + "");

i = 0;

text = "";

break;

}

case 2: { // 計算減法

double ad = defbutton

- Double.parseDouble(result.text.getText());

result.text.setText(String.valueOf(ad));

i = 0;

text = "";

break;

}

case 3: { // 計算乘法

double ad = defbutton

* Double.parseDouble(result.text.getText());

result.text.setText(ad + "");

i = 0;

text = "";

break;

}

case 4: { // 計算除法

double ad = defbutton

/ Double.parseDouble(result.text.getText());

result.text.setText(ad + "");

i = 0;

text = "";

break;

}

}

System.out.println(com);

}

System.out.println(result.text.getText());

}

@SuppressWarnings("deprecation")

public static void main(String[] args) {

Jisuanqi loveyou = new Jisuanqi();

loveyou.show();

}

}

// 計算器數(shù)字按鈕定義面板

class Number_Key extends JPanel {

/**

*

*/

private static final long serialVersionUID = 1L;

JButton zero = new JButton("0"); // 數(shù)字鍵0

JButton one = new JButton("1"); // 數(shù)字鍵1

JButton two = new JButton("2"); // 數(shù)字鍵2

JButton three = new JButton("3"); // 數(shù)字鍵3

JButton four = new JButton("4"); // 數(shù)字鍵4

JButton five = new JButton("5"); // 數(shù)字鍵5

JButton six = new JButton("6"); // 數(shù)字鍵6

JButton seven = new JButton("7"); // 數(shù)字鍵7

JButton eight = new JButton("8"); // 數(shù)字鍵8

JButton nine = new JButton("9"); // 數(shù)字鍵9

JButton plus = new JButton("+");

JButton sub = new JButton("-");

JButton mul = new JButton("*");

JButton div = new JButton("/");

JButton equal = new JButton("=");

JButton ce = new JButton("清零"); // 置零鍵

JButton point = new JButton(".");

Number_Key() {

setLayout(new GridLayout(4, 4, 1, 1)); // 定義布局管理器為網(wǎng)格布局

setBackground(Color.blue); // 設(shè)置背景顏色

// 添加按鈕

add(one);

add(two);

add(three);

add(four);

add(five);

add(six);

add(seven);

add(eight);

add(nine);

add(zero);

add(plus);

add(sub);

add(mul);

add(div);

add(point);

add(equal);

add(ce);

}

}

// 計算器顯示結(jié)果的窗體

class Result extends JPanel {

/**

*

*/

private static final long serialVersionUID = 1L;

// text先是輸入和結(jié)果

JTextField text = new JTextField("0");

@SuppressWarnings("deprecation")

Result() { // 講輸入的數(shù)字或得到的結(jié)果在text的右邊顯示

text.setHorizontalAlignment(SwingConstants.RIGHT);

text.enable(false); // 文本框不能編輯

setLayout(new BorderLayout()); // 設(shè)定布局管理器邊框布局

add(text, BorderLayout.CENTER); // text放置在窗體的中間

}

}

JAVA科學(xué)計算器代碼如何編

import java.awt.*;

import java.awt.event.*;

import java.lang.*;

import javax.swing.*;

public class Counter extends Frame

{

//聲明三個面板的布局

GridLayout gl1,gl2,gl3;

Panel p0,p1,p2,p3;

JTextField tf1;

TextField tf2;

Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26;

StringBuffer str;//顯示屏所顯示的字符串

double x,y;//x和y都是運(yùn)算數(shù)

int z;//Z表示單擊了那一個運(yùn)算符.0表示"+",1表示"-",2表示"*",3表示"/"

static double m;//記憶的數(shù)字

public Counter()

{

gl1=new GridLayout(1,4,10,0);//實例化三個面板的布局

gl2=new GridLayout(4,1,0,15);

gl3=new GridLayout(4,5,10,15);

tf1=new JTextField(27);//顯示屏

tf1.setHorizontalAlignment(JTextField.RIGHT);

tf1.setEnabled(false);

tf1.setText("0");

tf2=new TextField(10);//顯示記憶的索引值

tf2.setEditable(false);

//實例化所有按鈕、設(shè)置其前景色并注冊監(jiān)聽器

b0=new Button("Backspace");

b0.setForeground(Color.red);

b0.addActionListener(new Bt());

b1=new Button("CE");

b1.setForeground(Color.red);

b1.addActionListener(new Bt());

b2=new Button("C");

b2.setForeground(Color.red);

b2.addActionListener(new Bt());

b3=new Button("MC");

b3.setForeground(Color.red);

b3.addActionListener(new Bt());

b4=new Button("MR");

b4.setForeground(Color.red);

b4.addActionListener(new Bt());

b5=new Button("MS");

b5.setForeground(Color.red);

b5.addActionListener(new Bt());

b6=new Button("M+");

b6.setForeground(Color.red);

b6.addActionListener(new Bt());

b7=new Button("7");

b7.setForeground(Color.blue);

b7.addActionListener(new Bt());

b8=new Button("8");

b8.setForeground(Color.blue);

b8.addActionListener(new Bt());

b9=new Button("9");

b9.setForeground(Color.blue);

b9.addActionListener(new Bt());

b10=new Button("/");

b10.setForeground(Color.red);

b10.addActionListener(new Bt());

b11=new Button("sqrt");

b11.setForeground(Color.blue);

b11.addActionListener(new Bt());

b12=new Button("4");

b12.setForeground(Color.blue);

b12.addActionListener(new Bt());

b13=new Button("5");

b13.setForeground(Color.blue);

b13.addActionListener(new Bt());

b14=new Button("6");

b14.setForeground(Color.blue);

b14.addActionListener(new Bt());

b15=new Button("*");

b15.setForeground(Color.red);

b15.addActionListener(new Bt());

b16=new Button("%");

b16.setForeground(Color.blue);

b16.addActionListener(new Bt());

b17=new Button("1");

b17.setForeground(Color.blue);

b17.addActionListener(new Bt());

b18=new Button("2");

b18.setForeground(Color.blue);

b18.addActionListener(new Bt());

b19=new Button("3");

b19.setForeground(Color.blue);

b19.addActionListener(new Bt());

b20=new Button("-");

b20.setForeground(Color.red);

b20.addActionListener(new Bt());

b21=new Button("1/X");

b21.setForeground(Color.blue);

b21.addActionListener(new Bt());

b22=new Button("0");

b22.setForeground(Color.blue);

b22.addActionListener(new Bt());

b23=new Button("+/-");

b23.setForeground(Color.blue);

b23.addActionListener(new Bt());

b24=new Button(".");

b24.setForeground(Color.blue);

b24.addActionListener(new Bt());

b25=new Button("+");

b25.setForeground(Color.red);

b25.addActionListener(new Bt());

b26=new Button("=");

b26.setForeground(Color.red);

b26.addActionListener(new Bt());

//實例化四個面板

p0=new Panel();

p1=new Panel();

p2=new Panel();

p3=new Panel();

//創(chuàng)建一個空字符串緩沖區(qū)

str=new StringBuffer();

//添加面板p0中的組件和設(shè)置其在框架中的位置和大小

p0.add(tf1);

p0.setBounds(10,25,300,40);

//添加面板p1中的組件和設(shè)置其在框架中的位置和大小

p1.setLayout(gl1);

p1.add(tf2);

p1.add(b0);

p1.add(b1);

p1.add(b2);

p1.setBounds(10,65,300,25);

//添加面板p2中的組件并設(shè)置其的框架中的位置和大小

p2.setLayout(gl2);

p2.add(b3);

p2.add(b4);

p2.add(b5);

p2.add(b6);

p2.setBounds(10,110,40,150);

//添加面板p3中的組件并設(shè)置其在框架中的位置和大小

p3.setLayout(gl3);//設(shè)置p3的布局

p3.add(b7);

p3.add(b8);

p3.add(b9);

p3.add(b10);

p3.add(b11);

p3.add(b12);

p3.add(b13);

p3.add(b14);

p3.add(b15);

p3.add(b16);

p3.add(b17);

p3.add(b18);

p3.add(b19);

p3.add(b20);

p3.add(b21);

p3.add(b22);

p3.add(b23);

p3.add(b24);

p3.add(b25);

p3.add(b26);

p3.setBounds(60,110,250,150);

//設(shè)置框架中的布局為空布局并添加4個面板

setLayout(null);

add(p0);

add(p1);

add(p2);

add(p3);

setResizable(false);//禁止調(diào)整框架的大小

//匿名類關(guān)閉窗口

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e1)

{

System.exit(0);

}

});

setBackground(Color.lightGray);

setBounds(100,100,320,280);

setVisible(true);

}

//構(gòu)造監(jiān)聽器

class Bt implements ActionListener

{

public void actionPerformed(ActionEvent e2)

{

try{

if(e2.getSource()==b1)//選擇"CE"清零

{

tf1.setText("0");//把顯示屏清零

str.setLength(0);//清空字符串緩沖區(qū)以準(zhǔn)備接收新的輸入運(yùn)算數(shù)

}

else if(e2.getSource()==b2)//選擇"C"清零

{

tf1.setText("0");//把顯示屏清零

str.setLength(0);

}

else if(e2.getSource()==b23)//單擊"+/-"選擇輸入的運(yùn)算數(shù)是正數(shù)還是負(fù)數(shù)

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText(""+(-x));

}

else if(e2.getSource()==b25)//單擊加號按鈕獲得x的值和z的值并清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);//清空緩沖區(qū)以便接收新的另一個運(yùn)算數(shù)

y=0d;

z=0;

}

else if(e2.getSource()==b20)//單擊減號按鈕獲得x的值和z的值并清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=1;

}

else if(e2.getSource()==b15)//單擊乘號按鈕獲得x的值和z的值并清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=2;

}

else if(e2.getSource()==b10)//單擊除號按鈕獲得x的值和z的值并空y的值

{

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=3;

}

else if(e2.getSource()==b26)//單擊等號按鈕輸出計算結(jié)果

{

str.setLength(0);

switch(z)

{

case 0 : tf1.setText(""+(x+y));break;

case 1 : tf1.setText(""+(x-y));break;

case 2 : tf1.setText(""+(x*y));break;

case 3 : tf1.setText(""+(x/y));break;

}

}

else if(e2.getSource()==b24)//單擊"."按鈕輸入小數(shù)

{

if(tf1.getText().trim().indexOf(′.′)!=-1)//判斷字符串中是否已經(jīng)包含了小數(shù)點(diǎn)

{

}

else//如果沒數(shù)點(diǎn)有小

{

if(tf1.getText().trim().equals("0"))//如果初時顯示為0

{

str.setLength(0);

tf1.setText((str.append("0"+e2.getActionCommand())).toString());

}

else if(tf1.getText().trim().equals(""))//如果初時顯示為空則不做任何操作

{

}

else

{

tf1.setText(str.append(e2.getActionCommand()).toString());

}

}

y=0d;

}

else if(e2.getSource()==b11)//求平方根

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText("數(shù)字格式異常");

if(x0)

tf1.setText("負(fù)數(shù)沒有平方根");

else

tf1.setText(""+Math.sqrt(x));

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b16)//單擊了"%"按鈕

{

x=Double.parseDouble(tf1.getText().trim());

tf1.setText(""+(0.01*x));

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b21)//單擊了"1/X"按鈕

{

x=Double.parseDouble(tf1.getText().trim());

if(x==0)

{

tf1.setText("除數(shù)不能為零");

}

else

{

tf1.setText(""+(1/x));

}

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b3)//MC為清除內(nèi)存

{

m=0d;

tf2.setText("");

str.setLength(0);

}

else if(e2.getSource()==b4)//MR為重新調(diào)用存儲的數(shù)據(jù)

{

if(tf2.getText().trim()!="")//有記憶數(shù)字

{

tf1.setText(""+m);

}

}

else if(e2.getSource()==b5)//MS為存儲顯示的數(shù)據(jù)

{

m=Double.parseDouble(tf1.getText().trim());

tf2.setText("M");

tf1.setText("0");

str.setLength(0);

}

else if(e2.getSource()==b6)//M+為將顯示的數(shù)字與已經(jīng)存儲的數(shù)據(jù)相加要查看新的數(shù)字單擊MR

{

m=m+Double.parseDouble(tf1.getText().trim());

}

else//選擇的是其他的按鈕

{

if(e2.getSource()==b22)//如果選擇的是"0"這個數(shù)字鍵

{

if(tf1.getText().trim().equals("0"))//如果顯示屏顯示的為零不做操作

{

}

else

{

tf1.setText(str.append(e2.getActionCommand()).toString());

y=Double.parseDouble(tf1.getText().trim());

}

}

else if(e2.getSource()==b0)//選擇的是“BackSpace”按鈕

{

if(!tf1.getText().trim().equals("0"))//如果顯示屏顯示的不是零

{

if(str.length()!=1)

{

tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能拋出字符串越界異常

}

else

{

tf1.setText("0");

str.setLength(0);

}

}

y=Double.parseDouble(tf1.getText().trim());

}

else//其他的數(shù)字鍵

{

tf1.setText(str.append(e2.getActionCommand()).toString());

y=Double.parseDouble(tf1.getText().trim());

}

}

}

catch(NumberFormatException e){

tf1.setText("數(shù)字格式異常");

}

catch(StringIndexOutOfBoundsException e){

tf1.setText("字符串索引越界");

}

}

}

public static void main(String args[])

{

new Counter();

}

}

怎么用JAVA編程編寫一個計算器?

打開IED:打開自己java編程的軟件,采用的是eclipse軟件。

建立java工程。

編寫類。

編寫類的詳細(xì)步驟

1.類的基本結(jié)構(gòu):

由于這里用到了界面,所以要進(jìn)行窗口界面的編程,按鈕事件的處理,和計算處理界面;

package MyCaculator;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyCaculator extends JFrame {

private int add=1,sub=2,mul=3,div=4;

private int op=0;

boolean ifOp;

private String output="0";

private Button[] jba=new Button[]{new Button("7"),new Button("8"),

new Button("9"),new Button("+"),

new Button("4"),new Button("5"),new Button("6"),new Button("-"),

new Button("1"),new Button("2"),new Button("3"),new Button("*"),

new Button("0"),new Button("."),new Button("="),new Button("/")};

private JPanel jpt=new JPanel();

private JPanel jpb=new JPanel();

private JTextField jtf=new JTextField("");

private MyCaculator(){

}

private void operate(String x){

}

public String add(String x){

return output;

}

public String subtract(String x){

return output;

}

public String multiply(String x){

return output;

}

public String divide(String x){

return output;

}

public String Equals(String x){

return output;

}

public void opClean(){

}

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

public static void main(String[] args) {

}

}

2.建立構(gòu)造方法:

所謂構(gòu)造方法就是,對自己的主類進(jìn)行初始化,代碼如下:

private MyCaculator(){

jpt.setLayout(new BorderLayout());

jpt.add(jtf);

this.add(jpt,BorderLayout.NORTH);

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

for(int i=0;ijba.length;i++){

jpb.add(jba[i]);

if(i==3||i==7||i==11||i==15||i==14)

jba[i].addActionListener(new setOperate_Act());

else

jba[i].addActionListener(new setLabel_Act());

}

this.add(jpb,BorderLayout.CENTER);

this.setSize(250, 200);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

3.建立數(shù)據(jù)計算方法

這里的數(shù)據(jù)計算方法有6個,一個是主方法其他幾個是加減乘除的處理方法,代碼如下:

private void operate(String x){

double x1=Double.valueOf(x);

double y=Double.valueOf(output);

switch(op){

case 0:output=x;break;

case 1:output=String.valueOf(y+x1);break;

case 2:output =String.valueOf(y-x1);break;

case 3:output =String.valueOf(y*x1);break;

case 4:

if(x1!=0) output=String.valueOf(y/x1);

else output="不能為0";

break;

}

}

public String add(String x){

operate(x);

op=add;

return output;

}

public String subtract(String x){

operate(x);

op=sub;

return output;

}

public String multiply(String x){

operate(x);

op=mul;

return output;

}

public String divide(String x){

operate(x);

op=div;

return output;

}

public String Equals(String x){

operate(x);

op=0;

return output;

}

public void opClean(){

op=0;

output ="0";

}

4.事件處理方法

這里的時間處理方法,沒有建立一個整體的方法,二是在為了便于處理的方法,將按鈕事件分成兩個部分,并采用兩個子類來實現(xiàn),這兩個類時內(nèi)部類要寫在主類內(nèi)部的,代碼如下:

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

if(e.getSource()==jba[3]){

jtf.setText(add(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[7]){

jtf.setText(subtract(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[11]){

jtf.setText(multiply(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[15]){

jtf.setText(divide(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[14]){

jtf.setText(Equals(jtf.getText()));

ifOp=true;

}

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

Button tempb=(Button)e.getSource();

if(ifOp){

jtf.setText(tempb.getLabel());

ifOp=false;

}else {

jtf.setText(jtf.getText()+tempb.getLabel());

}

}

}

5.建立main方法:

要想實現(xiàn)我們的代碼,我們需在main方法中,實例化我們的對象。

public static void main(String[] args) {

new MyCaculator();

}

分享標(biāo)題:計算器的代碼怎么編寫java,計算器制作代碼
分享地址:http://chinadenli.net/article37/dseohsj.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管靜態(tài)網(wǎng)站外貿(mào)建站網(wǎng)站營銷企業(yè)建站網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司