首页编程java编程java基础加减乘除运算代码(c语言加减乘除混合运算)

java基础加减乘除运算代码(c语言加减乘除混合运算)

编程之家2026-05-30647次浏览

大家好,今天小编来为大家解答以下的问题,关于java基础加减乘除运算代码,c语言加减乘除混合运算这个很多人还不知道,现在让我们一起来看看吧!

java基础加减乘除运算代码(c语言加减乘除混合运算)

java 写的计算器源代码只实现加减乘除四则运算即可

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Vector;

public class calculator

{

java基础加减乘除运算代码(c语言加减乘除混合运算)

String str1="0";//运算数1初值一定为0为了程序的安全

String str2="0";//运算数2

String fh="+";//运算符

String jg="";//结果

//状态开关重要

int k1=1;//开关1用于选择输入方向将要写入str2或 str2

int k2=1;//开关2符号键次数 k2>1说明进行的是2+3-9+8这样的多符号运算

int k3=1;//开关3 str1是否可以被清0==1时可以!=1时不能被清0

int k4=1;//开关4 str2同上

int k5=1;//开关5控制小数点可否被录入==1时可以!=1输入的小数点被丢掉

JButton jicunqi;//寄存器记录是否连续按下符号键

Vector vt=new Vector(20,10);

JFrame frame=new JFrame("sunshine---计算器");

JTextField jg_TextField=new JTextField(jg,20);//20列

JButton clear_Button=new JButton("清除");

JButton button0=new JButton("0");

JButton button1=new JButton("1");

JButton button2=new JButton("2");

JButton button3=new JButton("3");

JButton button4=new JButton("4");

JButton button5=new JButton("5");

JButton button6=new JButton("6");

JButton button7=new JButton("7");

JButton button8=new JButton("8");

JButton button9=new JButton("9");

JButton button_Dian=new JButton(".");

JButton button_jia=new JButton("+");

JButton button_jian=new JButton("-");

JButton button_cheng=new JButton("*");

JButton button_chu=new JButton("/");

JButton button_dy=new JButton("=");

public static void main(String[] args)

{

calculator calculator=new calculator();

}

calculator()

{

jg_TextField.setHorizontalAlignment(JTextField.RIGHT);//文本框右对齐

JPanel pan=new JPanel();

pan.setLayout(new GridLayout(4,4,5,5));//四行四列边距为5像素

pan.add(button7);

pan.add(button8);

pan.add(button9);

pan.add(button_chu);

pan.add(button4);

pan.add(button5);

pan.add(button6);

pan.add(button_cheng);

pan.add(button1);

pan.add(button2);

pan.add(button3);

pan.add(button_jian);

pan.add(button0);

pan.add(button_Dian);

pan.add(button_dy);

pan.add(button_jia);

pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));//pan对象的边距

JPanel pan2=new JPanel();

pan2.add(jg_TextField);

JPanel pan3=new JPanel();//为什么要多此一句呢?因为我不会设置按钮的大小

pan3.setLayout(new FlowLayout());

pan3.add(clear_Button);

//clear_Button.setSize(10,10);//设置清零按钮的大小吗的不好使!!

frame.setLocation(300, 200);//主窗口出现在位置

frame.setResizable(false);//不能调大小

frame.getContentPane().setLayout(new BorderLayout());

frame.getContentPane().add(pan2,BorderLayout.NORTH);

frame.getContentPane().add(pan,BorderLayout.CENTER);

frame.getContentPane().add(pan3,BorderLayout.SOUTH);

frame.pack();

frame.setVisible(true);

//以上是控件和布局

//下面是事件处理程序

//---------------数字键----------------

class JianTing implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String ss=((JButton)e.getSource()).getText();

jicunqi=(JButton)e.getSource();

vt.add(jicunqi);

if(k1==1)

{

if(k3==1)

{

str1="";

k5=1;//还原开关k5状态

}

str1=str1+ss;

//k2=1;

k3=k3+1;

//System.out.println(str1);

jg_TextField.setText(str1);//显示

}

else if(k1==2)

{

if(k4==1)

{

str2="";

k5=1;//还原开关k5状态

}

str2=str2+ss;

//k2=2;

k4=k4+1;

///////////////测试////////////////

jg_TextField.setText(str2);

}

}

}

//--------符号-----------

class JianTing_fh implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

String ss2=((JButton)e.getSource()).getText();

jicunqi=(JButton)e.getSource();

vt.add(jicunqi);

if(k2==1)

{

k1=2;//开关 k1为1时,向数1写为2时,向数2写

k5=1;

fh=ss2;

k2=k2+1;//按符号键的次数

}

else

{

int a=vt.size();

JButton c=(JButton)vt.get(a-2); if(!(c.getText().equals("+"))&&!(c.getText().equals("-"))&&!(c.getText().equals("*"))&&!(c.getText().equals("/")))

{

yuns();

str1=jg;

k1=2;//开关 k1为1时,向数1写为2时,向数2写

k5=1;

k4=1;

fh=ss2;

} k2=k2+1;

}

}

}

//--------清除-------

class JianTing_clear implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)e.getSource();

vt.add(jicunqi);

k5=1;

k2=1;

k1=1;

k3=1;

k4=1;

str1="0";

str2="0";

fh="";

jg="";

jg_TextField.setText(jg);

vt.clear();

}

}

//----------------等于---------------------

class JianTing_dy implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)e.getSource();

vt.add(jicunqi);

yuns();

k1=1;//还原开关k1状态

//str1=jg;

k2=1;

k3=1;//还原开关k3状态

k4=1;//还原开关k4状态

str1=jg;//为7+5=12+5=17这种计算做准备

}

}

//----------------小数点---------------------

class JianTing_xiaos implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

jicunqi=(JButton)e.getSource();

vt.add(jicunqi);

if(k5==1)

{

String ss2=((JButton)e.getSource()).getText();

if(k1==1)

{

if(k3==1)

{

str1="";

k5=1;//还原开关k5状态

}

str1=str1+ss2;

//k2=1;

k3=k3+1;

//System.out.println(str1);

jg_TextField.setText(str1);//显示

}

else if(k1==2)

{

if(k4==1)

{

str2="";

k5=1;//还原开关k5状态

}

str2=str2+ss2;

//k2=2;

k4=k4+1;

///////////////测试////////////////

jg_TextField.setText(str2);

}

}

k5=k5+1;

}

}

//注册监听器

JianTing_dy jt_dy=new JianTing_dy();

JianTing jt= new JianTing();//临听数字键

JianTing_fh jt_fh= new JianTing_fh();//临听符号键

JianTing_clear jt_c=new JianTing_clear();//清除键

JianTing_xiaos jt_xs=new JianTing_xiaos();//小数点键

button7.addActionListener(jt);

button8.addActionListener(jt);

button9.addActionListener(jt);

button_chu.addActionListener(jt_fh);

button4.addActionListener(jt);

button5.addActionListener(jt);

button6.addActionListener(jt);

button_cheng.addActionListener(jt_fh);

button1.addActionListener(jt);

button2.addActionListener(jt);

button3.addActionListener(jt);

button_jian.addActionListener(jt_fh);

button0.addActionListener(jt);

button_Dian.addActionListener(jt_xs);

button_dy.addActionListener(jt_dy);

button_jia.addActionListener(jt_fh);

clear_Button.addActionListener(jt_c);

//关闭事件处理程序

frame.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

});

}

//---------------计算------------------

public void yuns()

{

double a2,b2;//运算数1,2

String c=fh;//运算符

double jg2=0;//结果

if(c.equals(""))

{

//System.out.println("请输入运算符");

jg_TextField.setText("请输入运算符");

}

else

{

System.out.println("str1:"+str1);//调试时使用

System.out.println("str2:"+str2);//调试时使用

System.out.println("运算符:"+fh);//调试时使用

if(str1.equals("."))//字符串"."转换成double型数据时会出错所以手工转

str1="0.0";

if(str2.equals("."))

str2="0.0";

a2=Double.valueOf(str1).doubleValue();

b2=Double.valueOf(str2).doubleValue();

System.out.println("double型的a2:"+a2);//调试时使用

System.out.println("double型的b2:"+b2);//调试时使用

if(c.equals("+"))

{

jg2=a2+b2;

}

if(c.equals("-"))

{

jg2=a2-b2;

}

if(c.equals("*"))

{

jg2=a2*b2;

}

if(c.equals("/"))

{

if(b2==0)

{

jg2=0;//0000000000000 by 0 cu!

}

else

{

jg2=a2/b2;

}

}

System.out.println("double型a2"+fh+"b2结果:"+jg2);

System.out.println();

jg=((new Double(jg2)).toString());

jg_TextField.setText(jg);

}

}

}

急求java编“加减乘除”功能的程序

import java.util.*;

class Calculator{

private double result;

private double precision= 0.0001;//精准度

public static void main(String args []){

Calculator clerk=new Calculator();

try{

System.out.println("请按格式输入符号空格数字");

System.out.println("例如:+ 3");

System.out.println("如果想结束输入e");

System.out.println("清零请按c");

clerk.doCalculation();

}

catch(ArithmeticException e){

clerk.handleArithmeticException(e);//抓住后调用方法

}

catch(UnknownOpException e){//catch自定义异常

clerk.handleUnknownOpException(e);

}

System.out.println("最终的结果是"+clerk.getValue());

System.out.println("计算器计算结束");

}

public Calculator(){

result= 0;

}

public void reset(){

result=0;

}

public void setResult(double newResult){//setResult没用到

result=newResult;

}

public double getValue(){

return result;

}

public void doCalculation() throws ArithmeticException,UnknownOpException

{

char nextOp;

double nextNumber;

Scanner keyboard= new Scanner(System.in);

boolean done=false;

System.out.println("结果="+result);

while(!done){

nextOp=(keyboard.next()).charAt(0);//按位置返回字符

if((nextOp=='e')||(nextOp=='E'))

done=true;

else if((nextOp=='c')||(nextOp=='c')){//按位置返回字符

reset();

System.out.println("结果已清0");

}

else{

nextNumber=keyboard.nextDouble();

result=evaluate(nextOp,result,nextNumber);

System.out.println("结果"+ nextOp+""+nextNumber+"="+result);

System.out.println("最终的结果="+ result);

}

}

}

public double evaluate(char op,double n1,double n2) throws ArithmeticException,UnknownOpException

{

double answer=0;

switch(op){

case'+':

answer=n1+n2;

break;

case'-':

answer=n1-n2;

break;

case'*':

answer=n1*n2;

break;

case'/':

if((-precision<n2)&&(n2<precision))

throw new ArithmeticException(); answer=n1/n2;

break;

default:

throw new UnknownOpException("符号错误!!!");

}

return answer;

}

public void handleArithmeticException(ArithmeticException e){//catch的调用方法

System.out.println("出错了!!!被除数是0");

System.out.println("程序结束");

System.exit(0);

}

public void handleUnknownOpException(UnknownOpException e){

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

e.printStackTrace();

System.out.println("清从新输入:");

try{//第二次尝试输入

System.out.println("请按格式输入符号空格数字");

System.out.println("例如:+ 3");

System.out.println("如果想结束输入e");

doCalculation();

}

catch(UnknownOpException e2){

// System.out.println(e2.getMessage());

e.printStackTrace();

System.out.println("符号未知");

System.out.println("程序结束");

System.exit(0);

}

catch(ArithmeticException e3){

handleArithmeticException(e3);

}

}

}

class UnknownOpException extends Exception{//自定义无符号异常

public UnknownOpException(){

super("无符号");

}

public UnknownOpException(String o){

super(o);

System.out.println(o+"没有这个符号");

}

}

你看看行不?程序设计的不是很好,但能实现+-*/

另一个小+-*/的程序,你自己再改改

public class TestArgs{

public static void main(String[] args){//在编译时自带参数。类型强制转换

if(args.length<3){//命令行参数个数小于3

System.out.println(

"Usage: java Test\"n1\"\"op\"\"n2\"");

System.exit(-1);//系统退出,-1表示非正常退出。0表示正常退出。

}

double d1= Double.parseDouble(args[0]);

double d2= Double.parseDouble(args[2]);

double d= 0;

if(args[1].equals("+")) d= d1+d2;

else if(args[1].equals("-")) d= d1-d2;

else if(args[1].equals("x")) d= d1*d2;//*在这个程序里的cmd运行下有错误,所以用x

else if(args[1].equals("/")) d= d1/d2;

else{

System.out.println("Error operator!");

System.exit(-1);

}

System.out.println(d);

}

}

Java实现有界面的简单的两个整数之间的加减乘除运算

这个必须通过swing技术实现,先看下效果图:

importjava.awt.BorderLayout;

importjava.awt.Color;

importjava.awt.GridLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

importjavax.swing.JTextField;

importjavax.swing.SwingConstants;

publicclassJisuanqiextendsJFrameimplementsActionListener{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

Resultresult=newResult();//定义text的面板

Number_Keynumber_key=newNumber_Key();//定义按钮面板

//当点击按钮+、-、*、/时,com=true

booleancom=false;

//当i=0时说明是我们第一次输入,字符串text不会累加

inti=0;

//存放text的内容

Stringtext="";

//存放点击按钮+、-、*、/之前的数值

doubledefbutton=0;

//+、-、*、/的代号分别为1,2,3,4

intsymbol=0;

//构造函数

Jisuanqi(){

super("WangJiao");//设定标题

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗体时退出程序

JPanelpane=newJPanel();//定义主面板

pane.setLayout(newBorderLayout());

setBounds(380,220,30,80);//前两个参数是在屏幕上显示的坐标,后两个是大小

//替换图标

ImageIconicon=newImageIcon("F:1.GIF");

//Jisuanqi.class.getResource("APPLE.GIF")

//);

setIconImage(icon.getImage());

pane.add(result,BorderLayout.NORTH);

pane.add(number_key,BorderLayout.CENTER);

pane.add(number_key.equal,BorderLayout.SOUTH);

number_key.one.addActionListener(this);//对1按钮添加监听事件

number_key.two.addActionListener(this);//对2按钮添加监听事件

number_key.three.addActionListener(this);//对3按钮添加监听事件

number_key.four.addActionListener(this);//对4按钮添加监听事件

number_key.five.addActionListener(this);//对5按钮添加监听事件

number_key.six.addActionListener(this);//对6按钮添加监听事件

number_key.seven.addActionListener(this);//对7按钮添加监听事件

number_key.eight.addActionListener(this);//对8按钮添加监听事件

number_key.nine.addActionListener(this);//对9按钮添加监听事件

number_key.zero.addActionListener(this);//对0按钮添加监听事件

number_key.ce.addActionListener(this);//对置零按钮添加监听事件

number_key.plus.addActionListener(this);//对+按钮添加监听事件

number_key.equal.addActionListener(this);//对=按钮添加监听事件

number_key.sub.addActionListener(this);//对-按钮添加监听事件

number_key.mul.addActionListener(this);//对*按钮添加监听事件

number_key.div.addActionListener(this);//对/按钮添加监听事件

number_key.point.addActionListener(this);//对.按钮添加监听事件

setContentPane(pane);

pack();//初始化窗体大小为正好盛放所有按钮

}

//各个按钮触发的事件

publicvoidactionPerformed(ActionEvente){

/*

*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么com=true如果没有com=

*false;或者是否点击数字键,如果是i=1,如果没有i=0;

*/

if(e.getSource()==number_key.one){

if(com||i==0){

result.text.setText("1");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"1");

}

}elseif(e.getSource()==number_key.two){

if(com||i==0){

result.text.setText("2");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"2");

}

}elseif(e.getSource()==number_key.three){

if(com||i==0){

result.text.setText("3");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"3");

}

}elseif(e.getSource()==number_key.four){

if(com||i==0){

result.text.setText("4");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"4");

}

}elseif(e.getSource()==number_key.five){

if(com||i==0){

result.text.setText("5");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"5");

}

}elseif(e.getSource()==number_key.six){

if(com||i==0){

result.text.setText("6");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"6");

}

}elseif(e.getSource()==number_key.seven){

if(com||i==0){

result.text.setText("7");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"7");

}

}elseif(e.getSource()==number_key.eight){

if(com||i==0){

result.text.setText("8");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"8");

}

}elseif(e.getSource()==number_key.nine){

if(com||i==0){

result.text.setText("9");

com=false;

i=1;

}else{

text=result.text.getText();

result.text.setText(text+"9");

}

}

/*

*对于0这个按钮有一定的说法,在我的程序里不会出现如00000这样的情况,我加了判断条件就是

*如果text中的数值=0就要判断在这个数值中是否有.存在?如果有那么就在原来数值基础之上添加0;否则保持原来的数值不变

*/

elseif(e.getSource()==number_key.zero){//result.text.getText()是得到text里内容的意思

if(com||i==0){

result.text.setText("0");

com=false;

i=1;

}else{

text=result.text.getText();

if(Float.parseFloat(text)>0||Float.parseFloat(text)<0){//Float.parseFloat(text)就是类型转换了,下面都是一样

result.text.setText(text+"0");

}else{

if(text.trim().indexOf(".")==-1){

result.text.setText(text);

}else{

result.text.setText(text+"0");

}

}

}

}elseif(e.getSource()==number_key.ce){

result.text.setText("0");

i=0;

com=true;

//text="";

defbutton=0;

}

/*

*本程序不会让一个数值中出现2个以上的小数点.具体做法是:判断是否已经存在.存在就不添加,不存在就添加.

*/

elseif(e.getSource()==number_key.point){

if(com||i==0){

result.text.setText("0.");

com=false;

i=1;

}else{

text=result.text.getText();

if(text.trim().indexOf(".")==-1){

result.text.setText(text+".");

}else{

result.text.setText(text);

}

}

}//获得点击+之前的数值

elseif(e.getSource()==number_key.plus){

com=true;

i=0;

defbutton=Double.parseDouble(result.text.getText());

symbol=1;

}//获得点击-之前的数值

elseif(e.getSource()==number_key.sub){

com=true;

i=0;

defbutton=Double.parseDouble(result.text.getText());

symbol=2;

}//获得点击*之前的数值

elseif(e.getSource()==number_key.mul){

com=true;

i=0;

defbutton=Double.parseDouble(result.text.getText());

System.out.println(defbutton);

symbol=3;

}//获得点击/之前的数值

elseif(e.getSource()==number_key.div){

com=true;

i=0;

defbutton=Double.parseDouble(result.text.getText());

symbol=4;

}elseif(e.getSource()==number_key.equal){

switch(symbol){

case1:{//计算加法

doublead=defbutton

+Double.parseDouble(result.text.getText());

result.text.setText(ad+"");

i=0;

text="";

break;

}

case2:{//计算减法

doublead=defbutton

-Double.parseDouble(result.text.getText());

result.text.setText(String.valueOf(ad));

i=0;

text="";

break;

}

case3:{//计算乘法

doublead=defbutton

*Double.parseDouble(result.text.getText());

result.text.setText(ad+"");

i=0;

text="";

break;

}

case4:{//计算除法

doublead=defbutton

/Double.parseDouble(result.text.getText());

result.text.setText(ad+"");

i=0;

text="";

break;

}

}

System.out.println(com);

}

System.out.println(result.text.getText());

}

@SuppressWarnings("deprecation")

publicstaticvoidmain(String[]args){

Jisuanqiloveyou=newJisuanqi();

loveyou.show();

}

}

//计算器数字按钮定义面板

classNumber_KeyextendsJPanel{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

JButtonzero=newJButton("0");//数字键0

JButtonone=newJButton("1");//数字键1

JButtontwo=newJButton("2");//数字键2

JButtonthree=newJButton("3");//数字键3

JButtonfour=newJButton("4");//数字键4

JButtonfive=newJButton("5");//数字键5

JButtonsix=newJButton("6");//数字键6

JButtonseven=newJButton("7");//数字键7

JButtoneight=newJButton("8");//数字键8

JButtonnine=newJButton("9");//数字键9

JButtonplus=newJButton("+");

JButtonsub=newJButton("-");

JButtonmul=newJButton("*");

JButtondiv=newJButton("/");

JButtonequal=newJButton("=");

JButtonce=newJButton("清零");//置零键

JButtonpoint=newJButton(".");

Number_Key(){

setLayout(newGridLayout(4,4,1,1));//定义布局管理器为网格布局

setBackground(Color.blue);//设置背景颜色

//添加按钮

add(one);

add(two);

add(three);

add(four);

add(five);

add(six);

add(seven);

add(eight);

add(nine);

add(zero);

add(plus);

add(sub);

add(mul);

add(div);

add(point);

add(equal);

add(ce);

}

}

//计算器显示结果的窗体

classResultextendsJPanel{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

//text先是输入和结果

JTextFieldtext=newJTextField("0");

@SuppressWarnings("deprecation")

Result(){//讲输入的数字或得到的结果在text的右边显示

text.setHorizontalAlignment(SwingConstants.RIGHT);

text.enable(false);//文本框不能编辑

setLayout(newBorderLayout());//设定布局管理器边框布局

add(text,BorderLayout.CENTER);//text放置在窗体的中间

}

}

好了,文章到这里就结束啦,如果本次分享的java基础加减乘除运算代码和c语言加减乘除混合运算问题对您有所帮助,还望关注下本站哦!

免费ppt模板大全免费下载网站(免费制作ppt)c编程 c十十编程软件