如何用Java编写四则运算程序?

如何用Java编写四则运算程序?,第1张

(首先建个类,把这些复制粘贴进去)

import java.awt.*

import javax.swing.*

public class F {

JFrame frame = new JFrame("计算机")

JPanel pl = new JPanel()

JPanel p2 = new JPanel()

static JTextField show = new JTextField()

static JButton b0 = new JButton("0")

static JButton b1 = new JButton("1")

static JButton b2 = new JButton("2")

static JButton b3 = new JButton("3")

static JButton b4 = new JButton("4")

static JButton b5 = new JButton("5")

static JButton b6 = new JButton("6")

static JButton b7 = new JButton("7")

static JButton b8 = new JButton("8")

static JButton b9 = new JButton("9")

JButton bjia = new JButton("+")

JButton bjian = new JButton("-")

JButton bcheng = new JButton("*")

JButton bchu = new JButton("/")

JButton bdian = new JButton(".")

JButton bdeng = new JButton("=")

JButton bqingchu = new JButton("清除")

public void y() {

pl.setLayout(new GridLayout(1, 1))

pl.add(show)

}

public void p() {

b1.addActionListener(new U())

b2.addActionListener(new U())

b3.addActionListener(new U())

b4.addActionListener(new U())

b5.addActionListener(new U())

b6.addActionListener(new U())

b7.addActionListener(new U())

b8.addActionListener(new U())

b9.addActionListener(new U())

b0.addActionListener(new U())

bjia.addActionListener(new Fu())

bjian.addActionListener(new Fu())

bcheng.addActionListener(new Fu())

bchu.addActionListener(new Fu())

bdeng.addActionListener(new Deng())

bqingchu.addActionListener(new Qing())

p2.setLayout(new GridLayout(6, 3))

p2.add(b1)

p2.add(b2)

p2.add(b3)

p2.add(b4)

p2.add(b5)

p2.add(b6)

p2.add(b7)

p2.add(b8)

p2.add(b9)

p2.add(b0)

p2.add(bjia)

p2.add(bjian)

p2.add(bcheng)

p2.add(bchu)

p2.add(bdian)

p2.add(bqingchu)

p2.add(bdeng)

}

public void o() {

frame.setLayout(new BorderLayout())

frame.add(pl, BorderLayout.NORTH)

frame.add(p2, BorderLayout.CENTER)

frame.setSize(400, 300)

frame.setVisible(true)

}

public static void main(String[] args) {

F f = new F()

f.y()

f.p()

f.o()

}

}

(再新建个类 把这些也复制粘贴进去)

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

public class U implements ActionListener {

public static String str = ""

public static String a = ""

public static String b = ""

public static String k = ""

public void actionPerformed(ActionEvent e) {

String w = e.getActionCommand()//字

if (k.equals("")) {

a += w

F.show.setText(a)

} else {

b += w

F.show.setText(b)

}

}

}

(再新建一个,把下面的复制粘贴)

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

public class Deng implements ActionListener {

public void actionPerformed(ActionEvent e) {

int a = Integer.parseInt(U.a)

int b = Integer.parseInt(U.b)

int c = 0

if (U.k.equals("+")) {

c = a + b

} else

if (U.k.equals("-")) {

c = a - b

} else

if (U.k.equals("*")) {

c = a * b

} else

if (U.k.equals("/")) {

c = a / b

} else {

}

String d = String.valueOf(c)

F.show.setText(d)

U.a = d

U.b = ""

U.k = ""

}

}

(在建一个 复制粘贴)

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

public class Fu implements ActionListener {

public void actionPerformed(ActionEvent e) {

String a = e.getActionCommand()//字

U.k = a

}

}

(在建一个)

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

public class Qing implements ActionListener {

public void actionPerformed(ActionEvent e) {

U.a = ""

U.b = ""

U.k = ""

F.show.setText("")

}

}

public class Arithmetic {

public static void Ari(){

Scanner scan = new Scanner(System.in)

StringBuffer buffer = new StringBuffer()

DecimalFormat dec = new DecimalFormat("0.00")//格式化结果保留两位小数

String all = ""//所有的计算表达式连在一起

System.out.println("请输入表达式的个数,只能为正整数")

int n = scan.nextInt()

System.out.println("请依次输入要计算的表达式")

   for(int i=0i<n+1i++){

    buffer = buffer.append(scan.nextLine()+",")

   }

   all = buffer.substring(0, buffer.lastIndexOf(","))

   String allAri[] = all.split(",")

   String ari = ""//不同的算法表达式

   float add//加法的计算结果

   float subtract//减肥的计算结果

   float multi//乘法的计算结果

   float divison//除法的计算结果

   int model//模运算的计算结果

   for(int j=0j<allAri.lengthj++){

    ari = allAri[j]

    if(ari.contains("+")){

    String tempAry[] = ari.split("[+]")

    add = Float.valueOf(tempAry[0])+Float.valueOf(tempAry[1])

    System.out.println(dec.format(add))

    }else if(ari.contains("-")){

    String tempAry[] = ari.split("[-]")

    subtract = Float.valueOf(tempAry[0])-Float.valueOf(tempAry[1])

    System.out.println(dec.format(subtract))

    }else if(ari.contains("*")){

    String tempAry[] = ari.split("[*]")

    multi = Float.valueOf(tempAry[0])*Float.valueOf(tempAry[1])

    System.out.println(dec.format(multi))

    }else if(ari.contains("/")){

    String tempAry[] = ari.split("[/]")

    divison = Float.valueOf(tempAry[0])/Float.valueOf(tempAry[1])

    System.out.println(dec.format(divison))

    }else if(ari.contains("%")){

    String tempAry[] = ari.split("[%]")

    model = Integer.valueOf(tempAry[0])%Integer.valueOf(tempAry[1])

    System.out.println(model)

    }

   }

}

public static void main(String[] args) {

Ari()

}

}

测试结果截图如下:

你的测试用例的输入的表达式的个数是4个,但下面的计算表达式好像少了一个,所以我加了一个除法的计算表达式,若理解有误,还望说明。


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

原文地址:https://54852.com/yw/7733045.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存