java编一个计算器的代码

java编一个计算器的代码,第1张

界面漂亮堪比系统自带计算器,功能完美加减乘除开平方等等全部具备,还有清零按钮,小数点的使用,连加连乘功能完全参考系统官方计算器经过长期调试改进而成,马上拷贝代码拿去试试看吧,绝不后悔!

代码如下:

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.util.*

public class Counter {

public static void main(String[] args) {

CounterFrame frame = new CounterFrame()

frame.show()

}

}

class CounterFrame extends JFrame {

public CounterFrame() {

JMenuBar menuBar = new JMenuBar()

JMenu menuFile = new JMenu()

JMenu menuFile1 = new JMenu()

JMenu menuFile2 = new JMenu()

JMenu menuFile3 = new JMenu()

JMenuItem menuFileExit = new JMenuItem()

menuFile.setText("文件")

menuFile1.setText("编辑")

menuFile2.setText("查看")

menuFile3.setText("帮助")

menuFileExit.setText("退出")

menuFileExit.addActionListener

(

new ActionListener() {

public void actionPerformed(ActionEvent e) {

CounterFrame.this.windowClosed()

}

}

)

menuFile.add(menuFileExit)

menuBar.add(menuFile)

menuBar.add(menuFile1)

menuBar.add(menuFile2)

menuBar.add(menuFile3)

setTitle("计算器")

setJMenuBar(menuBar)

setSize(new Dimension(400, 280))

this.getContentPane().add(new Allpanel())

this.addWindowListener

(

new WindowAdapter() {

public void windowClosing(WindowEvent e) {

CounterFrame.this.windowClosed()

}

}

)

}

protected void windowClosed() {

System.exit(0)

}

}

class Tool {

public static Tool instance

private JTextField field

private Tool() {

this.field=new JTextField(30)

this.field.setHorizontalAlignment(JTextField.RIGHT)

}

public static Tool getinstance()

{

if(instance==null)

{

instance=new Tool()

}

return instance

}

public JTextField getfield()

{

return (this.field)

}

}

class Allpanel extends JPanel {

public Allpanel() {

this.setLayout(new BorderLayout(0,7))

Northpanel np=new Northpanel()

Centerpanel cp=new Centerpanel()

this.add(np,BorderLayout.NORTH)

this.add(cp,BorderLayout.CENTER)

}

}

class Centercenter extends JPanel {

static Vector Vec=new Vector()

static Vector vc=new Vector()

static Vector vc1=new Vector()

static Vector vc2=new Vector()

static Vector vc3=new Vector()

static String begin="yes"

static double add

static double jq

static double cs

static double cq

static double dy

static String jg

static String what

static double tool=0

static String to="yes"

/**

* Method Centercenter

*

*

*/

public Centercenter() {

// TODO: Add your code here

final JTextField text=Tool.getinstance().getfield()

this.setLayout(new GridLayout(4,5,3,3))

String arg[] ={"7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="}

for(int i=0i<20i++)

{

final JButton b=new JButton(arg[i])

//this.add(new JButton(arg[i]))

this.add(b)

if(i==0||i==1||i==2||i==5||i==6||i==7||i==10||i==11||i==12||i==15)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String mark=b.getText()

String ma=text.getText()

if(vc3.contains("v3"))

{

text.setText("0."+mark)

vc3.clear()

}

else if(vc.contains("a"))

{

if(vc2.contains("v2"))

{

text.setText("0."+mark)

vc.clear()

vc2.clear()

}

else

{

text.setText(mark)

vc.clear()

Vec.clear()

Vec.add(mark)

}

}

else

{

text.setText(ma.trim()+mark)

Vec.add(mark)

}

begin="no"

to="yes"

}

})

}

if(i==17)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String mar=b.getText()

String m=text.getText()

if("yes".equals(begin))

{

vc3.add("v3")

}

if(vc1.contains("v1"))

{

vc2.add("v2")

vc1.clear()

}

if(!Vec.contains(".")&&!vc.contains("a"))

{

text.setText(m.trim()+mar)

Vec.add(".")

}

}

})

}

if(i==18)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

add=Double.parseDouble(ma)

if(what==null)

{

tool=add

what="add"

}

else

{

tool=tool+add

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="+"

}

})

}

if(i==13)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

jq=Double.parseDouble(ma)

if(what==null)

{

tool=jq

what="jq"

}

else

{

tool=tool-jq

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="-"

}

})

}

if(i==3)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

cq=Double.parseDouble(ma)

if(what==null)

{

tool=cq

what="cq"

}

else

{

tool=tool/cq

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="/"

}

})

}

if(i==4)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

cq=Double.parseDouble(ma)

text.setText(String.valueOf(Math.sqrt(cq)))

}

})

}

if(i==8)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

cs=Double.parseDouble(ma)

if(what==null)

{

tool=cs

what="cs"

}

else

{

tool=tool*cs

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="*"

}

})

}

if(i==19)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

dy=Double.parseDouble(ma)

if(what=="add")

{

jg=String.valueOf((tool+dy))

}

if(what=="jq")

{

jg=String.valueOf((tool-dy))

}

if(what=="cs")

{

jg=String.valueOf((tool*dy))

}

if(what=="cq")

{

jg=String.valueOf((tool/dy))

}

if(what==null)

{

if(to=="+")

{

tool=add

jg=String.valueOf(tool+dy)

}

else if(to=="-")

{

tool=jq

jg=String.valueOf(dy-tool)

}

else if(to=="*")

{

tool=cs

jg=String.valueOf(dy*tool)

}

else if(to=="/")

{

tool=cq

jg=String.valueOf(dy/tool)

}

else

{

jg=String.valueOf(dy)

}

}

text.setText(jg)

Vec.clear()

Vec.add(".")

vc.add("a")

vc1.add("v1")

what=null

tool=0

}

})

}

}

}

}

class Centernorth extends JPanel {

public Centernorth() {

final JTextField text=Tool.getinstance().getfield()

JButton jb1=new JButton("Backspace")

JButton jb2=new JButton(" CE ")

JButton jb3=new JButton(" C ")

this.add(jb1)

this.add(jb2)

this.add(jb3)

jb1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e)

{

String back=Tool.getinstance().getfield().getText()

text.setText(backmethod(back))

Centercenter.Vec.remove(Centercenter.Vec.size()-1)

}

})

jb3.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e)

{

text.setText("0.")

Centercenter.Vec.clear()

Centercenter.Vec.add(".")

Centercenter.vc.add("a")

Centercenter.begin="yes"

Centercenter.vc1.clear()

Centercenter.what=null

Centercenter.tool=0

}

})

}

public String backmethod(String str)

{

return str.substring(0,str.length()-1)

}

}

class Centerpanel extends JPanel {

public Centerpanel() {

this.setLayout(new BorderLayout(8,7))

Centernorth cn=new Centernorth()

Centercenter cc=new Centercenter()

Centerwest cw=new Centerwest()

this.add(cn,BorderLayout.NORTH)

this.add(cc,BorderLayout.CENTER)

this.add(cw,BorderLayout.WEST)

}

}

class Centerwest extends JPanel {

public Centerwest() {

this.setLayout(new GridLayout(4,1,3,3))

this.add(new JButton("MC"))

this.add(new JButton("MR"))

this.add(new JButton("MS"))

this.add(new JButton("M+"))

}

}

class Northpanel extends JPanel {

private JTextField tf

public Northpanel() {

tf=Tool.getinstance().getfield()

this.add(tf)

}

}

---------------------------------------------------------------------------

=============《按你要求特意后改过的最简单功能的代码如下》========================

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.util.*

public class Counter2 {

public static void main(String[] args) {

CounterFrame frame = new CounterFrame()

frame.show()

}

}

class CounterFrame extends JFrame {

public CounterFrame() {

setTitle("计算器")

setSize(new Dimension(400, 280))

this.getContentPane().add(new Allpanel())

this.addWindowListener

(

new WindowAdapter() {

public void windowClosing(WindowEvent e) {

CounterFrame.this.windowClosed()

}

}

)

}

protected void windowClosed() {

System.exit(0)

}

}

class Tool {

public static Tool instance

private JTextField field

private Tool() {

this.field=new JTextField(30)

this.field.setHorizontalAlignment(JTextField.RIGHT)

}

public static Tool getinstance()

{

if(instance==null)

{

instance=new Tool()

}

return instance

}

public JTextField getfield()

{

return (this.field)

}

}

class Allpanel extends JPanel {

public Allpanel() {

this.setLayout(new BorderLayout(0,7))

Northpanel np=new Northpanel()

Centerpanel cp=new Centerpanel()

this.add(np,BorderLayout.NORTH)

this.add(cp,BorderLayout.CENTER)

}

}

class Centercenter extends JPanel {

static Vector Vec=new Vector()

static Vector vc=new Vector()

static Vector vc1=new Vector()

static Vector vc2=new Vector()

static Vector vc3=new Vector()

static String begin="yes"

static double add

static double jq

static double cs

static double cq

static double dy

static String jg

static String what

static double tool=0

static String to="yes"

/**

* Method Centercenter

*

*

*/

public Centercenter() {

// TODO: Add your code here

final JTextField text=Tool.getinstance().getfield()

this.setLayout(new GridLayout(4,5,3,3))

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

for(int i=0i<16i++)

{

final JButton b=new JButton(arg[i])

//this.add(new JButton(arg[i]))

this.add(b)

if(i==0||i==1||i==2||i==4||i==5||i==6||i==8||i==9||i==10||i==12)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String mark=b.getText()

String ma=text.getText()

if(vc3.contains("v3"))

{

text.setText("0."+mark)

vc3.clear()

}

else if(vc.contains("a"))

{

if(vc2.contains("v2"))

{

text.setText("0."+mark)

vc.clear()

vc2.clear()

}

else

{

text.setText(mark)

vc.clear()

Vec.clear()

Vec.add(mark)

}

}

else

{

text.setText(ma.trim()+mark)

Vec.add(mark)

}

begin="no"

to="yes"

}

})

}

if(i==14)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String mar=b.getText()

String m=text.getText()

if("yes".equals(begin))

{

vc3.add("v3")

}

if(vc1.contains("v1"))

{

vc2.add("v2")

vc1.clear()

}

if(!Vec.contains(".")&&!vc.contains("a"))

{

text.setText(m.trim()+mar)

Vec.add(".")

}

}

})

}

if(i==15)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

add=Double.parseDouble(ma)

if(what==null)

{

tool=add

what="add"

}

else

{

tool=tool+add

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="+"

}

})

}

if(i==11)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

jq=Double.parseDouble(ma)

if(what==null)

{

tool=jq

what="jq"

}

else

{

tool=tool-jq

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="-"

}

})

}

if(i==3)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

cq=Double.parseDouble(ma)

if(what==null)

{

tool=cq

what="cq"

}

else

{

tool=tool/cq

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="/"

}

})

}

if(i==7)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

cs=Double.parseDouble(ma)

if(what==null)

{

tool=cs

what="cs"

}

else

{

tool=tool*cs

text.setText(String.valueOf((tool)))

}

vc.add("a")

vc1.add("v1")

to="*"

}

})

}

if(i==13)

{

b.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

String ma=text.getText()

dy=Double.parseDouble(ma)

if(what=="add")

{

jg=String.valueOf((tool+dy))

}

if(what=="jq")

{

jg=String.valueOf((tool-dy))

}

if(what=="cs")

{

jg=String.valueOf((tool*dy))

}

if(what=="cq")

{

jg=String.valueOf((tool/dy))

}

if(what==null)

{

if(to=="+")

{

tool=add

jg=String.valueOf(tool+dy)

}

else if(to=="-")

{

tool=jq

jg=String.valueOf(dy-tool)

}

else if(to=="*")

{

tool=cs

jg=String.valueOf(dy*tool)

}

else if(to=="/")

{

tool=cq

jg=String.valueOf(dy/tool)

}

else

{

jg=String.valueOf(dy)

}

}

text.setText(jg)

Vec.clear()

Vec.add(".")

vc.add("a")

vc1.add("v1")

what=null

tool=0

}

})

}

}

}

}

class Centernorth extends JPanel {

public Centernorth() {

final JTextField text=Tool.getinstance().getfield()

}

}

class Centerpanel extends JPanel {

public Centerpanel() {

this.setLayout(new BorderLayout(8,7))

Centernorth cn=new Centernorth()

Centercenter cc=new Centercenter()

Centerwest cw=new Centerwest()

this.add(cn,BorderLayout.NORTH)

this.add(cc,BorderLayout.CENTER)

this.add(cw,BorderLayout.WEST)

}

}

class Centerwest extends JPanel {

public Centerwest() {

}

}

class Northpanel extends JPanel {

private JTextField tf

public Northpanel() {

tf=Tool.getinstance().getfield()

this.add(tf)

}

}

------------------------------------------------------------

才子_辉祝您愉快!

import java.awt.*

import java.awt.event.*

public class lvhaiya{

int tmp,sum,sum1,sum2=1,sum3=1

String a,b,c,dString s=""

Frame f=new Frame("计算器")

private String[]name={

"0","1","2","3","4","5","6","7","8","9","+","-","*","/","=","空格"

}

public Button[] button=new Button[name.length]

TextField t=new TextField("",30)

Panel p=new Panel()

Panel p1=new Panel()

Color color=new Color(100,170,90)

public lvhaiya(){

p1.setLayout(new GridLayout(5,5))

for(int i=0i<name.lengthi++){

button[i]=new Button(name[i])

p1.add(button[i])

}

p.setLayout(new FlowLayout(FlowLayout.LEFT))

p.setBackground(color)

p.add(t)

f.add(p,BorderLayout.NORTH)

f.add(p1,BorderLayout.SOUTH)

f.pack()

f.setVisible(true)

f.addWindowListener( new WindowClose())

t.setText("0.")

for(int i=0i<name.lengthi++){

button[i].addActionListener(new ButtonEventl())

}

}

public static void main(String[]args){

new lvhaiya()

}

class WindowClose extends WindowAdapter{

public void windouClosing(WindowEvent e){

System.exit(0)

}

}

class ButtonEventl implements ActionListener{

public void actionPerformed(ActionEvent e)throws ArithmeticException{

String command=e.getActionCommand()

if(command.equals("+")){

sum=Integer.parseInt(t.getText())+sum

t.setText(String.valueOf(sum))

a=t.getText()

s=""

}

else if(command.equals("-")){

sum1=Integer.parseInt(t.getText())

b=t.getText()

s=""

}

else if(command.equals("*")){

sum2=Integer.parseInt(t.getText())*sum2

t.setText(String.valueOf(sum2))

c=t.getText()

s=""

}

else if(command.equals("/")){

sum3=Integer.parseInt(t.getText())

d=t.getText()

s=""

}

else if(command.equals("=")){

if(a!=null){

t.setText(String.valueOf(sum+tmp))

}

if(b!=null){

t.setText(String.valueOf(sum1-tmp))

}

if(c!=null){

t.setText(String.valueOf(sum2*tmp))

}

try{

if(d!=null){

t.setText(String.valueOf(sum3/tmp))

}

}

catch(ArithmeticException a){

t.setText("除数不能为零")

}

}

else if(command.equals("空格")){

sum=0

a=null

b=null

c=null

d=null

sum1=0

sum2=1

sum3=1

tmp=0

t.setText("0")

s=""

}

else{

s=s+command

t.setText(s)

tmp=Integer.parseInt(s)

}

}

}

}

//按钮可以自己美化一下 希望可以帮到你

学java的时候自己编的,很简单,能够连续输入计算式后进行计算

import java.awt.BorderLayout

import java.awt.Color

import java.awt.FlowLayout

import java.awt.Font

import java.awt.GridLayout

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.text.NumberFormat

import java.util.ArrayList

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JPanel

import javax.swing.JTextField

/**简易计算器,能够进行简单的计算

*

* @see 2008.12.9

*/

public class CalculatorA

implements ActionListener{

private JFrame frame

private JTextField field

private JButton[] allButtons

private JButton clearButton

// private JButton backButton

String result=""//保存结果

StringBuilder sb = new StringBuilder()//保存要进行的计算式

int x = 0 //用来判断上一次的事件类型

String str = "123+456-789*0.=/"

ArrayList<String>arrayList = new ArrayList<String>()//保存计算式,通过方法进行运算

public CalculatorA(){

frame = new JFrame("我的计算器v1.1")

frame.setLocation(300,300)

field = new JTextField(25)

allButtons = new JButton[16]

for(int i=0i<allButtons.lengthi++){

allButtons[i]= new JButton(str.substring(i,i+1))

}

clearButton = new JButton("CLEAR")

// backButton = new JButton("<——")

init()

setFondAndColor()

addEventHander()

}

public void init(){

frame.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(field)

for(int i=0i<allButtons.lengthi++){

centerPanel.add(allButtons[i])

}

southPanel.add(clearButton)

//southPanel.add(backButton)

frame.add(northPanel,BorderLayout.NORTH)

frame.add(centerPanel,BorderLayout.CENTER)

frame.add(southPanel,BorderLayout.SOUTH)

}

//设置输入字体

public void setFondAndColor(){

field.setFont(new Font("宋体",Font.BOLD,24))

field.setBackground(new Color(100,200,200))

field.setForeground(Color.RED)

//设置字体从右起始

field.setHorizontalAlignment(JTextField.RIGHT)

}

public void showMi(){

frame.pack()

frame.setResizable(false)

frame.setVisible(true)

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

public void addEventHander(){

for(int i=0i<allButtons.lengthi++){

allButtons[i].addActionListener(this)

}

clearButton.addActionListener(this)

// backButton.addActionListener(this)

}

@Override

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand()//取得当前事件返回的值

if("0123456789.".indexOf(str)!=-1){

if(x == 0){ //当x为0时表示还没有进行输入

result=str

sb.append(str)

field.setText(str)

x = 1

}

else if(x == 1){

result = result +str

sb.append(str)

field.setText(result)

x = 1

}

else if(x == 2){

sb.delete(0,sb.length())

result = result+str

sb.append(str)

field.setText(result)

x = 1

}

else if(x == 3){

result = str

sb.delete(0,sb.length())

arrayList.clear()

field.setText(str)

sb.append(str)

field.setText(str)

x = 1

}

else if(x == 4){

result =""

sb.delete(0,sb.length())

arrayList.clear()

result = str

sb.append(str)

field.setText(str)

x = 1

}

else{

result = result +str

sb.append(str)

field.setText(result)

x = 1

}

}

else if("+*-/".indexOf(str)!=-1){

if(x == 0){

field.setText("")

x = 2

}

else if(x == 1){

result = result + str

arrayList.add(sb.toString())

arrayList.add(str)

sb.append(str)

field.setText(result)

x = 2

}

else if(x == 2){

x = 2

}

else if(x == 3){

field.setText(result+str)

arrayList.add(result)

arrayList.add(str)

result = result+str

x = 2

}

else if(x == 4){

result =""

sb.delete(0,sb.length())

arrayList.clear()

x = 2

}

else{

field.setText(result+str)

arrayList.add(result)

arrayList.add(str)

result = result+str

x = 2

}

}

else if("=".equals(str)){

if(x == 0){

field.setText("0")

arrayList.clear()

result = "0"

x = 3

}

else if(x == 1){

try{

arrayList.add(sb.toString())

arrayList = getResult(arrayList)

result = arrayList.get(0)

field.setText(result)

arrayList.clear()

x = 3

}catch(Exception e1){

field.setText("数据格式异常")

x = 0

}

}

else if(x == 2){

field.setText("数据格式错误.....")

arrayList.clear()

x = 0

}

else if(x == 3){

field.setText(result)

x = 3

}

else if(x == 4){

result =""

sb.delete(0,sb.length())

arrayList.clear()

x = 3

}

else {

try{

arrayList.add(sb.toString())

arrayList = getResult(arrayList)

result = arrayList.get(0)

field.setText(result)

arrayList.clear()

x = 3

}catch(Exception e1){

field.setText("数据格式异常")

x = 0

}

}

}

else if("CLEAR".equals(str)){

arrayList.clear()

field.setText("0")

arrayList.add("0")

x = 4

}

else{

if(result.length()>1){

result = result.substring(0,result.length()-1)

if(sb.length()>0){

sb.delete(sb.length()-1,sb.length())

}

else {

sb.delete(0,1)

}

field.setText(result)

x = 5

}

else{

result = ""

sb.delete(0,sb.length())

arrayList.clear()

field.setText("0")

x = 0

}

}

}

public static ArrayList<String>getResult(ArrayList<String>list){

String res = null

String[] s = {"/","*","-","+"}

int i=0

if(list.size()>1){

for(i<s.length){

if(s[i].equals("/")){

for(int j=0j<list.size()j++){

if(list.get(j).equals(s[i])){

res = Double.toString(Double.parseDouble(list.get(j-1))/Double.parseDouble(list.get(j+1)))

//本地的数据格式

NumberFormat nf = NumberFormat.getInstance()

res = nf.format(Double.parseDouble(res))

res = getChange(res)

list.set(j-1,res)

list.remove(j)

list.remove(j)

getResult(list)

}

}

i++

}

else if(s[i].equals("*")){

for(int j=0j<list.size()j++){

if(list.get(j).equals(s[i])){

res = Double.toString(Double.parseDouble(list.get(j-1))*Double.parseDouble(list.get(j+1)))

NumberFormat nf = NumberFormat.getInstance()

res = nf.format(Double.parseDouble(res))

res = getChange(res)

list.set(j-1,res)

list.remove(j)

list.remove(j)

getResult(list)

}

}

i++

}

else if(s[i].equals("-")){

for(int j=0j<list.size()j++){

if(list.get(j).equals(s[i])){

res = Double.toString(Double.parseDouble(list.get(j-1))-Double.parseDouble(list.get(j+1)))

NumberFormat nf = NumberFormat.getNumberInstance()

res = nf.format(Double.parseDouble(res))

res = getChange(res)

list.set(j-1,res)

list.remove(j)

list.remove(j)

getResult(list)

}

}

i++

}

else {

for(int j=0j<list.size()j++){

if(list.get(j).equals(s[i])){

res = Double.toString(Double.parseDouble(list.get(j-1))+Double.parseDouble(list.get(j+1)))

NumberFormat nf = NumberFormat.getInstance()

res = nf.format(Double.parseDouble(res))

res = getChange(res)

list.set(j-1,res)

list.remove(j)

list.remove(j)

getResult(list)

}

}

i++

}

}

}

return list

}

//对数字字符串进行排除不必要符号

public static String getChange(String res){

String s_temp = ""

char[] c = new char[res.length()]

for(int k=0k<c.lengthk++){

c[k] = res.charAt(k)

}

for(int k=0k<c.lengthk++){

if((c[k]>= '0' &&c[k]<= '9')|| c[k] == '.'){

s_temp += c[k]

}

}

return s_temp

}

public static void main(String[] args){

new CalculatorA().showMi()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11076283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存