网站建设资讯

NEWS

网站建设资讯

java基础运算代码 java编程基础代码

java的加减乘除运算

使用BigDecimal并且一定要用String来够造。

在黄冈等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站建设 网站设计制作按需规划网站,公司网站建设,企业网站建设,高端网站设计,网络营销推广,外贸网站制作,黄冈网站建设费用合理。

实现方法如下:

import java.math.BigDecimal;

/**

* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精

* 确的浮点数运算,包括加减乘除和四舍五入。

*/

public class Arith{

//默认除法运算精度

private static final int DEF_DIV_SCALE = 10;

//这个类不能实例化

private Arith(){

}

/**

* 提供精确的加法运算。

* @param v1 被加数

* @param v2 加数

* @return 两个参数的和

*/

public static double add(double v1,double v2){

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.add(b2).doubleValue();

}

/**

* 提供精确的减法运算。

* @param v1 被减数

* @param v2 减数

* @return 两个参数的差

*/

public static double sub(double v1,double v2){

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.subtract(b2).doubleValue();

}

/**

* 提供精确的乘法运算。

* @param v1 被乘数

* @param v2 乘数

* @return 两个参数的积

*/

public static double mul(double v1,double v2){

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.multiply(b2).doubleValue();

}

/**

* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到

* 小数点以后10位,以后的数字四舍五入。

* @param v1 被除数

* @param v2 除数

* @return 两个参数的商

*/

public static double div(double v1,double v2){

return div(v1,v2,DEF_DIV_SCALE);

}

/**

* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指

* 定精度,以后的数字四舍五入。

* @param v1 被除数

* @param v2 除数

* @param scale 表示表示需要精确到小数点以后几位。

* @return 两个参数的商

*/

public static double div(double v1,double v2,int scale){

if(scale0){

throw new IllegalArgumentException(

"The scale must be a positive integer or zero");

}

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

}

/**

* 提供精确的小数位四舍五入处理。

* @param v 需要四舍五入的数字

* @param scale 小数点后保留几位

* @return 四舍五入后的结果

*/

public static double round(double v,int scale){

if(scale0){

throw new IllegalArgumentException(

"The scale must be a positive integer or zero");

}

BigDecimal b = new BigDecimal(Double.toString(v));

BigDecimal one = new BigDecimal("1");

return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();

}

};

求简单JAVA程序代码,能操作的,简单的计算器有计算功能+-*/就行越简单越好!!!急!!!

public static void main(String[] args) {

String st = "";

计算器 j = new 计算器();

boolean t = true;

while (t) {

System.out.print("请输入计算代码:");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

try {

st = br.readLine();

} catch (IOException ex) {

Logger.getLogger(计算器.class.getName()).log(Level.SEVERE, null, ex);

}

if (st.equals("end")) {

t = false;

} else if (!st.equals("")) {

j.处理(st);

}

}

}

public void 处理(String st) {

if (st.indexOf("+") != -1) {

加(符号处理(st, "+"));

} else if (st.indexOf("-") != -1) {

减(符号处理(st, "-"));

} else if (st.indexOf("*") != -1) {

乘(符号处理(st, "*"));

} else if (st.indexOf("/") != -1) {

除(符号处理(st, "/"));

}

}

public int[] 符号处理(String st, String s) {

int[] i = new int[2];

i[0] = Integer.parseInt(st.substring(0, st.indexOf(s)));

i[1] = Integer.parseInt(st.substring(st.indexOf(s) + 1));

return i;

}

public void 加(int x[]) {

System.out.println(x[0] + "+" + x[1] + "=" + (x[0] + x[1]));

}

public void 减(int[] x) {

System.out.println(x[0] + "-" + x[1] + "=" + (x[0] - x[1]));

}

public void 乘(int[] x) {

System.out.println(x[0] + "*" + x[1] + "=" + x[0] * x[1]);

}

public void 除(int x[]) {

if (x[1] == 0) {

System.out.print("除数不能为零");

return;

}

System.out.println(x[0] + "/" + x[1] + "=" + x[0] / x[1]);

}

可以运行:输入示例:55+62

java加减乘除运算的程序怎么编啊

//JAVA编程:四则运算(接收用户输入的2个操作数,和运算符),计算之后,输出结果~~~~

import java.util.Scanner;

public class 四则运算 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("请输入第一个数字:");

int a = sc.nextInt();

System.out.print("请输入运算符号:");

String str = sc.next();

char ch = str.charAt(0);

System.out.print("请输入第二个数字:");

int b = sc.nextInt();

switch(ch)

{

case '+':

System.out.println(a+"+"+ b + "="+(a+b));

break;

case '-':

System.out.println(a+"-"+ b+ "="+(a-b));

break;

case '*':

System.out.println(a+"*"+ b+ "="+(a*b));

break;

case '/':

if(b==0){

System.out.println("被除数为零,运算无意义!");

break;

}

else {

System.out.println(a+"/"+ b+ " = "+(a/b));

break;

}

default:

System.out.println("运算符是无意义字符!");

break;

}

}

}

望采纳~~~~~~~~

JAVA 编写计算器 要代码最简单的

学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.=/";

ArrayListString arrayList = new ArrayListString();//保存计算式,通过方法进行运算

public CalculatorA(){

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

frame.setLocation(300,300);

field = new JTextField(25);

allButtons = new JButton[16];

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

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=0;iallButtons.length;i++){

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=0;iallButtons.length;i++){

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 ArrayListString getResult(ArrayListString list){

String res = null;

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

int i=0;

if(list.size()1){

for(;is.length;){

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

for(int j=0;jlist.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=0;jlist.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=0;jlist.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=0;jlist.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=0;kc.length;k++){

c[k] = res.charAt(k);

}

for(int k=0;kc.length;k++){

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();

}

}

用JAVA写了一个计算机的框架,怎么加代码实现基本运算(加减乘除,等于,清零)import java.awt.*;

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都是运算数

int z;// Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"

static double m;// 记忆的数字

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);

// 实例化所有按钮、设置其前景色并注册监听器

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();

// 创建一个空字符串缓冲区

str = new StringBuffer();

// 添加面板p0中的组件和设置其在框架中的位置和大小

p0.add(tf1);

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

// 添加面板p1中的组件和设置其在框架中的位置和大小

p1.setLayout(gl1);

p1.add(tf2);

p1.add(b0);

p1.add(b1);

p1.add(b2);

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

// 添加面板p2中的组件并设置其的框架中的位置和大小

p2.setLayout(gl2);

p2.add(b3);

p2.add(b4);

p2.add(b5);

p2.add(b6);

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

// 添加面板p3中的组件并设置其在框架中的位置和大小

p3.setLayout(gl3);// 设置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);

// 设置框架中的布局为空布局并添加4个面板

setLayout(null);

add(p0);

add(p1);

add(p2);

add(p3);

setResizable(false);// 禁止调整框架的大小

// 匿名类关闭窗口

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e1) {

System.exit(0);

}

});

setBackground(Color.lightGray);

setBounds(100, 100, 320, 280);

setVisible(true);

}

// 构造监听器

class Bt implements ActionListener {

public void actionPerformed(ActionEvent e2)

{

try{

if(e2.getSource()==b1)// 选择"CE"清零

{

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

str.setLength(0);// 清空字符串缓冲区以准备接收新的输入运算数

}

else if(e2.getSource()==b2)// 选择"C"清零

{

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

str.setLength(0);

}

else if(e2.getSource()==b23)// 单击"+/-"选择输入的运算数是正数还是负数

{

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);// 清空缓冲区以便接收新的另一个运算数

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)// 单击等号按钮输出计算结果

{

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)// 单击"."按钮输入小数

{

if(tf1.getText().trim().indexOf('.')!=-1)// 判断字符串中是否已经包含了小数点

{

}

else// 如果没数点有小

{

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("数字格式异常");

if(x0)

tf1.setText("负数没有平方根");

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("除数不能为零");

}

else

{

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

}

str.setLength(0);

y=0d;

}

else if(e2.getSource()==b3)// MC为清除内存

{

m=0d;

tf2.setText("");

str.setLength(0);

}

else if(e2.getSource()==b4)// MR为重新调用存储的数据

{

if(tf2.getText().trim()!="")// 有记忆数字

{

tf1.setText(""+m);

}

}

else if(e2.getSource()==b5)// MS为存储显示的数据

{

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

tf2.setText("M");

tf1.setText("0");

str.setLength(0);

}

else if(e2.getSource()==b6)// M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR

{

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

}

else// 选择的是其他的按钮

{

if(e2.getSource()==b22)// 如果选择的是"0"这个数字键

{

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// 其他的数字键

{

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

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

}

}

}

catch(NumberFormatException e){

tf1.setText("数字格式异常");

}

catch(StringIndexOutOfBoundsException e){

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

}

} }

public static void main(String args[]) {

new Counter();

}

}

java简单的四则运算.

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=0;in+1;i++){

    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=0;jallAri.length;j++){

    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个,但下面的计算表达式好像少了一个,所以我加了一个除法的计算表达式,若理解有误,还望说明。


分享文章:java基础运算代码 java编程基础代码
本文路径:http://cdweb.net/article/hpcjhi.html