當前位置:編程學習大全網 - 編程語言 - 用java編寫記事本(輸入,打開,保存功能就行)或者計算器(實現加減乘除就行)

用java編寫記事本(輸入,打開,保存功能就行)或者計算器(實現加減乘除就行)

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener

{

private JTextField text;

StringBuffer sb1 = new StringBuffer(); //參數壹

StringBuffer sb2 = new StringBuffer(); //參數二

private double b;

private double d = 0.0f;

private static int j = 0;

private static char f;

private static boolean D = false;

private final String[] KEYS = {"sqrt","+/-","CE","C", "7", "8", "9", "/",

"4", "5", "6","*", "1", "2", "3","-", "0",".", "=", "+" };

private JButton keys[] = new JButton[KEYS.length];

//構造函數

public Calculator()

{

//設置JFrame

super("Calculator");

this.setBounds(480, 320, 240, 220);

this.setResizable(false);

this.setBackground(Color.lightGray);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.getContentPane().setLayout(new FlowLayout());//內容窗格流布局

//文本行

text = new JTextField("0.", 20);

text.setHorizontalAlignment(JTextField.RIGHT);

this.getContentPane().add(text);

text.addActionListener(this);

//面板

JPanel panel = new JPanel(new GridLayout(6, 4));

this.getContentPane().add(panel);

//定義按鈕

for(int i=0;i<KEYS.length;i++)

{

keys[i] = new JButton( KEYS[i]);//定義按鈕

panel.add(keys[i]); //添加組件

keys[i].addActionListener(this);//註冊事件監聽器

}

this.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

JButton jb = (JButton)e.getSource();

char c = jb.getText().charAt(0);//給第壹個數賦值

switch (c)

{

case '0':

case '1':

case '2':

case '3':

case '4':

case '5':

case '6':

case '7':

case '8':

case '9':

SetNum(c);

break;

//運算符號

case '+':

case '-':

case '*':

case '/':

setOperation(c);

break;

//運算結果或歸零

case '=':

Answers(f);

break;

case 'C':

restart();

}

}

//輸入數據函數

private void SetNum(char y)

{

if (D == false)

{

sb1.append(y);

this.text.setText(sb1.toString());

}

else

{

sb2.append(y);

this.text.setText(sb2.toString());

}

}

//輸入運算符

private void setOperation(char a)

{

f = a;

D = true;

this.text.setText("");

}

//輸出答案函數

public void Answers(char k)

{

if (sb2.length() == 0)

{

this.text.setText(java.lang.String.valueOf(Double.parseDouble(sb1.toString())));

}

else

{

if (j == 0)

{

d = Double.parseDouble(sb1.toString());

}

b = Double.parseDouble(sb2.toString());

j = 1;

D = false;

sb1.delete(0, sb1.length() - 1);//刪除字符串從0~a-1處(這個方法就是這麽用地)

sb2 = new StringBuffer("");//重新新建壹個對象覆蓋

//sb2.delete(0,sb2.length()-1);//刪除字符串從0~a-1處(這個方法就是這麽用地)

switch (k)

{

case '+':

d = d + b;

this.text.setText(java.lang.String.valueOf(d));

break;

case '-':

d = d - b;

this.text.setText(java.lang.String.valueOf(d));

break;

case '*':

d = d * b;

this.text.setText(java.lang.String.valueOf(d));//在文本行輸出數字string.valueof(c)

break;

case '/':

if (b == 0)

{

restart();

}

d = d / b;

this.text.setText(java.lang.String.valueOf(d));

break;

}

}

}

//}

//歸零函數

private void restart()

{

Calculator.this.dispose();

j = 0;

d = 0;

D = false;

new Calculator();

}

public static void main(String[] args)

{

new Calculator();

}

}

很久以前寫的,剛剛找出來妳試試吧

  • 上一篇:會計專業英語詞匯
  • 下一篇:如何給新建文件夾加密?
  • copyright 2024編程學習大全網