用JAVA编写的科学计算器源代码

Python027

用JAVA编写的科学计算器源代码,第1张

import java.awt.*

import javax.swing.*

import java.awt.event.*

class Counter extends WindowAdapter

{

static JFrame f=new JFrame("计算器")

static JTextField text1=new JTextField("0.")

static String source=""

static String cal=""

static String object=""

static boolean flag=false

static boolean flag1=true

static boolean flag2=false

public void init()

{

try

{

Container c=f.getContentPane()

JPanel pan1=new JPanel()

JButton b1=new JButton("1")

JButton b2=new JButton("2")

JButton b3=new JButton("3")

JButton b4=new JButton("4")

JButton b5=new JButton("5")

JButton b6=new JButton("6")

JButton b7=new JButton("7")

JButton b8=new JButton("8")

JButton b9=new JButton("9")

JButton b0=new JButton("0")

JButton b11=new JButton("+")

JButton b12=new JButton("-")

JButton b13=new JButton("*")

JButton b14=new JButton("/")

JButton b15=new JButton(".")

JButton b16=new JButton("=")

JButton bclar=new JButton("清零")

text1.setHorizontalAlignment(JTextField.RIGHT)

c.add(text1,"North")

c.add(pan1)

A aa=new A()

Result re=new Result()

Opertion op=new Opertion()

Clar cl=new Clar()

b1.addActionListener(aa)

b2.addActionListener(aa)

b3.addActionListener(aa)

b4.addActionListener(aa)

b5.addActionListener(aa)

b6.addActionListener(aa)

b7.addActionListener(aa)

b8.addActionListener(aa)

b9.addActionListener(aa)

b0.addActionListener(aa)

b11.addActionListener(op)

b12.addActionListener(op)

b13.addActionListener(op)

b14.addActionListener(op)

b16.addActionListener(re)

b15.addActionListener(aa)

bclar.addActionListener(cl)

pan1.add(b1)

pan1.add(b2)

pan1.add(b3)

pan1.add(b11)

pan1.add(b4)

pan1.add(b5)

pan1.add(b6)

pan1.add(b12)

pan1.add(b7)

pan1.add(b8)

pan1.add(b9)

pan1.add(b13)

pan1.add(b0)

pan1.add(b15)

pan1.add(b16)

pan1.add(b14)

pan1.add(bclar)

f.setSize(200,220)

f.setVisible(true)

}

catch(Exception e)

{

System.out.println(e.getMessage())

}

}

class A implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String a=text1.getText()

String s=e.getActionCommand()

if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/"))

text1.setText(s)

else {

if(flag2)

{

text1.setText(s)

flag2=false

}

else

text1.setText(a+s)

}

}

}

class Opertion implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

cal=e.getActionCommand()

if(flag1==true)

source=text1.getText()

text1.setText(cal)

flag1=false

flag=true

}

}

class Result implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

double num1

num1=Double.parseDouble(source)

object=text1.getText()

double num2

num2=Double.parseDouble(object)

double result=0

if(cal.equals("+"))

result=num1+num2

if(cal.equals("-"))

result=num1-num2

if(cal.equals("*"))

result=num1*num2

if(cal.equals("/"))

if(num2==0)

text1.setText("除数不能为0")

else

result=num1/num2

String s1=Double.toString(result)

text1.setText(s1)

flag1=true

flag2=true

}

}

class Clar implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

text1.setText("0.")

}

}

public static void main(String[] args)

{

Counter count=new Counter()

count.init()

}

public void windowClosing(WindowEvent e){

System.exit(1)

}

public void windowOpened(WindowEvent e){}

public void windowIconified(WindowEvent e){}

public void windowDeiconified(WindowEvent e){}

public void windowClosed(WindowEvent e){}

public void windowActivated(WindowEvent e){}

public void windowDeactivated(WindowEvent e){}

}

Java编辑一个科学型计算器跟复合型计算器:

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.border.EmptyBorder

import javax.swing.JTextField

import java.awt.GridLayout

import javax.swing.JButton

import java.awt.Color

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.util.ArrayList

import java.util.Listpublic class CalculaterYYWF extends JFrame {

private JPanel contentPane

private JTextField textField

private List<String>listSign = new ArrayList<String>()

private List<Double>listNum = new ArrayList<Double>()public static void main(String[] args) {

new CalculaterYYWF()

} public CalculaterYYWF() {

setResizable(false)

setBackground(new Color(240, 255, 240))

setTitle("有猿无粉牌计算器")

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

setBounds(100, 100, 265, 375)

contentPane = new JPanel()

contentPane.setBackground(new Color(224, 255, 255))

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5))

setContentPane(contentPane)

contentPane.setLayout(null)

textField = new JTextField()

textField.setBounds(10, 10, 237, 44)

contentPane.add(textField)

textField.setColumns(10)

JPanel panel = new JPanel()

panel.setBackground(new Color(224, 255, 255))

panel.setBounds(10, 64, 237, 273)

contentPane.add(panel)

panel.setLayout(new GridLayout(5, 4, 5, 5))

String stmp = "123+456-789*0.%/()"

for (int i = 0i <18i++) {

JButton j = new JButton(String.valueOf(stmp.charAt(i)))

j.setActionCommand(j.getText())

panel.add(j)

j.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

textField.setText(textField.getText().trim()

+ e.getActionCommand())

}

})

}

JButton bt_clear = new JButton("C")

panel.add(bt_clear)

bt_clear.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

textField.setText("")

}

})

JButton bt_deng = new JButton("=")

panel.add(bt_deng)

bt_deng.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String expression = textField.getText()

bracketResolve(expression)

}

})

setVisible(true)

} // 逐层消括号并计算

public void bracketResolve(String exp) {

String strjs = convertString(exp)

} }

学习Java培训将来可以做企业应用开发、web开发、游戏开发、物联网等工作。1、企业应用开发:由于Java的安全性,很多企业会使用Java开发一些大型的应用,比如第三方交易系统、银行前后交易系统、医疗管理系统等等。千锋教育就有线上免费JavaScript线上公开课。 2、Web开发:用Java开发的网页会更流畅,更不容易卡顿,所以越来越多的公司开始用Java开发网页。目前很多培训机构也会在Java教学课程中教授html5、css、 JavaScript、 jQuery脚本语言和异步交互技术AJAX等知识点,让学员在培训后找到Java web开发工作。3、游戏开发:国内游戏行业正在蓬勃发展,且由于一些游戏脚本语言可以与Java语言无缝交互 ,而Java本身也可以开发一些小游戏,所以精通Java的人在游戏开发市场上地很受欢迎。4、物联网:物联网是近年来兴起的一个概念。目前,该领域人才匮乏。Java 的平台独立性使得Java语言非常适合开发嵌入式程序行业。如果想了解Java更多相关知识,建议到千锋教育了解一下。千锋教育目前在18个城市拥有22个校区,年培养优质人才20000余人,与国内20000余家企业建立人才输送合作关系,院校合作超600所。