网站建设资讯

NEWS

网站建设资讯

java算术运算器的代码 java算术运算器的代码是什么

求java计算器的代码

import java.awt.*;

惠济网站建设公司创新互联建站,惠济网站设计制作,有大型网站制作公司丰富经验。已为惠济上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的惠济做网站的公司定做!

import java.awt.event.*;

import java.util.*;

import javax.swing.*;

public class Calculator extends JFrame{

private float op1,op2;//定义两个变量存放需要运算的值

private String str="";//定义str去和text进行交叉赋值

private String opr,co;//opr存放符合,co用来存放复制的内容

private double re;//用来存放运算的结果

private boolean bo=false;//是否进行了+-*/运算

private boolean btime=false;//时间开关

Container contentpane=this.getContentPane();

JPanel panel1=new JPanel(new BorderLayout()),

panel2=new JPanel(new FlowLayout()),

panel3=new JPanel(new GridLayout(4,5)),

panel4=new JPanel(new BorderLayout()),

panel5=new JPanel(new BorderLayout());

//菜单栏

JMenuBar menubar=new JMenuBar();

JMenu edit=new JMenu("编辑(E)"),

find=new JMenu("查看(V)"),

help=new JMenu("帮助(H)");

JMenuItem copy=new JMenuItem("复制(C)",'C'),

paste=new JMenuItem("粘贴(P)",'P'),

standard=new JMenuItem("标准型(T)",'T'),

science=new JMenuItem("科学型(S)",'S'),

numarray=new JMenuItem("数字分组(I)",'I'),

helptopic=new JMenuItem("帮助主题(H)",'H'),

aboutcal=new JMenuItem("关于计算器(A)",'A');

//输入文本框

JTextField text=new JTextField(25);

//数字键

JButton one=new JButton("1"),

two=new JButton("2"),

three=new JButton("3"),

four=new JButton("4"),

five=new JButton("5"),

six=new JButton("6"),

seven=new JButton("7"),

eight=new JButton("8"),

nine=new JButton("9"),

zero=new JButton("0");

//功能键

JButton division=new JButton("/"),

multiply=new JButton("*"),

addition=new JButton("+"),

subtration=new JButton("-"),

sqrt=new JButton("sqrt"),

residual=new JButton("%"),

sign=new JButton("+/-"),

dot=new JButton("."),

reciprocal=new JButton("1/X"),

amount=new JButton("="),

backspace=new JButton("Backspace"),

ce=new JButton("CE"),

c=new JButton("C"),

time=new JButton("time");

public Calculator() {

contentpane.setLayout(new BorderLayout());

//textField文本从右边开始写

text.setHorizontalAlignment(SwingConstants.RIGHT);

text.setText("0.");

//菜单栏添加

edit.add(copy);

edit.add(paste);

find.add(standard);

find.add(science);

find.addSeparator();

find.add(numarray);

help.add(helptopic);

help.addSeparator();

help.add(aboutcal);

//把组件添加至容器中

menubar.add(edit);

menubar.add(find);

menubar.add(help);

panel1.add(menubar,"North");

panel1.add(text,"West");

//添加数字、功能键至panel2、panel3

panel2.add(backspace);

panel2.add(ce);

panel2.add(c);

panel2.add(time);

panel3.add(seven);

panel3.add(eight);

panel3.add(nine);

panel3.add(division);

panel3.add(sqrt);

panel3.add(four);

panel3.add(five);

panel3.add(six);

panel3.add(multiply);

panel3.add(residual);

panel3.add(one);

panel3.add(two);

panel3.add(three);

panel3.add(subtration);

panel3.add(reciprocal);

panel3.add(zero);

panel3.add(sign);

panel3.add(dot);

panel3.add(addition);

panel3.add(amount);

panel4.add(panel2,"North");

panel4.add(panel3,"West");

panel5.add(panel1,"North");

panel5.add(panel4,"West");

contentpane.add(panel5,"North");

//事件

//助记符

edit.setMnemonic('E');

find.setMnemonic('V');

help.setMnemonic('H');

//快捷键

KeyStroke kcopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);

copy.setAccelerator(kcopy);

KeyStroke kpaste=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);

paste.setAccelerator(kpaste);

//0-9、.的显示事件

actionlistener1 al1=new actionlistener1();

one.addActionListener(al1);

two.addActionListener(al1);

three.addActionListener(al1);

four.addActionListener(al1);

five.addActionListener(al1);

six.addActionListener(al1);

seven.addActionListener(al1);

eight.addActionListener(al1);

nine.addActionListener(al1);

//小数点的ActionListener事件

dot.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

//1.第一位就为.时改变text中内容为:"0."

if(count==0){

str="0.";

text.setText(str);

}

//2.不可以重复按"."

else {if(!str.contains(".")){

str+=".";

text.setText(str);

}

else

System.out.println("您再点的话,输入的将不再是小数了!");

}

}

});

//如果第一位是0那么第二位就不可以为0

zero.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

if(bo){

if(!(str.contains("0")count==1)){

str="";

str+="0";

text.setText(str);

}else

System.out.println("您再点的话,输入的将不再是数字了!");

}

else{

if(!(str.contains("0")count==1)){

str+="0";

text.setText(str);

}else

System.out.println("您再点的话,输入的将不再是数字了!");

}

bo=false;

}

});

//+、-、*、/、%运算

actionlistener3 al3=new actionlistener3();

addition.addActionListener(al3);

subtration.addActionListener(al3);

multiply.addActionListener(al3);

division.addActionListener(al3);

residual.addActionListener(al3);

//CE和C清空按钮时间

actionlistener2 al2=new actionlistener2();

ce.addActionListener(al2);

c.addActionListener(al2);

//退格键

backspace.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length()-1;

if(bo==false){

if(count=0){

str=str.substring(0,count);

text.setText(str);

}

else

text.setText("0.");

}else

System.out.println("您现在正进行法则运算!");

}

});

//求平方根

sqrt.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

if(count!=0){

op1=Float.parseFloat(text.getText());

re=Math.sqrt(op1);

String str1=String.valueOf(re);

text.setText(str1);

str="";

}

else

System.out.println("您现在的按sqrt键毫无意义");

}

});

//求倒数

reciprocal.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

if(count!=0){

op1=Float.parseFloat(text.getText());

if(op1!=0){

re=1/op1;

String str1=String.valueOf(re);

text.setText(str1);

str=str1;

}

else{

text.setText("除数不可以为0的");

str="";

}

}

else

System.out.println("您现在的按1/X键毫无意义");

}

});

//=事件

amount.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

op2=Float.parseFloat(str);

//需判断进行那种运算法则

if(opr=="+"){//加法运算

re=op1+op2;

String str1=String.valueOf(re);

text.setText(str1);

str=String.valueOf(re);

}else{

if(opr=="-"){//减法运算

re=op1-op2;

String str1=String.valueOf(re);

text.setText(str1);

str=String.valueOf(re);

}else{

if(opr=="*"){//乘法运算

re=op1*op2;

String str1=String.valueOf(re);

text.setText(str1);

str=String.valueOf(re);

}else{

if(opr=="/"op2!=0){//除法运算

re=op1/op2;

String str1=String.valueOf(re);

text.setText(str1);

str=String.valueOf(re);

}else{

if(opr=="%"){//取余运算

re=op1%op2;

String str1=String.valueOf(re);

text.setText(str1);

str="";

}

else if(op2==0){

text.setText("除数不可以为0的");

str="";

}

}

}

}

}

//打印看看

System.out.print(op1);

System.out.print(opr);

System.out.print(op2+"=");

System.out.print(re);

System.out.println();

}

});

//复制事件

copy.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

if(count!=0){

co=text.getText();

}

else

System.out.println("没有可复制的对象");

}

});

//粘贴事件

paste.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

str=co;

text.setText(str);

}

});

//时间事件

time.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

if(btime==false){

String st=(new Date()).toString();

text.setText(st);

str="";

btime=true;

}

else{

text.setText(str);

btime=false;

}

}

});

//+/-事件

sign.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

int a=Integer.valueOf(str);

a=a*(-1);

str=String.valueOf(a);

text.setText(str);

}

});

}

//定义1-9按钮在text中显示的内部类

class actionlistener1 implements ActionListener{

public void actionPerformed(ActionEvent e){

JButton button=(JButton)e.getSource();

String btext=button.getText();

//如果第一位为0再输入其他非零的整数时将零忽略

if(bo){

if(str.indexOf("0")==0str.length()==1){

str="";

str+=btext;

text.setText(str);

}else{

str="";

str+=btext;

text.setText(str);}

}else{

if(str.indexOf("0")==0str.length()==1){

str="";

str+=btext;

text.setText(str);

}else{

str+=btext;

text.setText(str);

}

}

bo=false;

}

}

//定义清空text中内容的内部类

class actionlistener2 implements ActionListener{

public void actionPerformed(ActionEvent e){

str="";

text.setText("0.");

}

}

//定义+、-、*、/、%运算的内部类

class actionlistener3 implements ActionListener{

public void actionPerformed(ActionEvent e){

int count;

count=str.length();

if(count!=0){

JButton button=(JButton)e.getSource();

opr=button.getText();

op1=Float.parseFloat(str);

bo=true;

}

else

System.out.println("您现在的按键毫无意义!");

}

}

public static void main(String[] args){

Calculator cc=new Calculator();

cc.pack();

cc.setResizable(false);//不可最大化

cc.setVisible(true);

cc.setTitle("计算器");

cc.setDefaultCloseOperation(EXIT_ON_CLOSE);

Dimension scmsize=Toolkit.getDefaultToolkit().getScreenSize();

int w=cc.getSize().width;

int h=cc.getSize().height;

int x=(scmsize.width-w)/2;

int y=(scmsize.height-h)/2;

cc.setLocation(x, y);

}

}

java 计算器代码

import java.util.Scanner;

public class JiSuan {

public static void main(String[] args) {

String zhanghao="765800331";//注意账号密码均为字符串类型

String mima="123456";

int isgoing=0;//当账号或密码输入错误时提示是否继续输入

String select="";//六种运算中你的选择

int result=0;//运算结果

int a=0;

int b=0;

Scanner sa = new Scanner(System.in);

do{

System.out.println("请输入你的账号:");

String zhanghao1= sa.next();

System.out.println("请输入你的密码:");

String mima1= sa.next();

if(zhanghao.equals(zhanghao1)mima.equals(mima1)){

while(zhanghao.equals(zhanghao1)mima.equals(mima1)){

System.out.println("*******************欢迎使用Java小计算器**************");

System.out.println("本计算器提供以下功能");

System.out.println("A.加法");

System.out.println("B.减法");

System.out.println("C.乘法");

System.out.println("D.除法");

System.out.println("E.a的b次幂");

System.out.println("F.退出计算器");

System.out.println("请选择:");

select= sa.next();

char c=select.charAt(0);//申明一个变量c来接收select转换成char类型的变量

switch(c){

case 'A':

System.out.println("请输入第一个数");

a = sa.nextInt();

System.out.println("请输入第二个数");

b = sa.nextInt();

result = a+b;

System.out.println("运算结果如下:"+result);

break;

case 'B':

System.out.println("请输入第一个数");

a = sa.nextInt();

System.out.println("请输入第二个数");

b = sa.nextInt();

result = a-b;

System.out.println("运算结果如下:"+result);

break;

case 'C':

System.out.println("请输入第一个数");

a = sa.nextInt();

System.out.println("请输入第二个数");

b = sa.nextInt();

result = a*b;

System.out.println("运算结果如下:"+result);

break;

case 'D':

System.out.println("请输入第一个数");

a = sa.nextInt();

System.out.println("请输入第二个数");

b = sa.nextInt();

result = a/b;

if(a%b!=0){

int m=a%b;

System.out.println("运算结果如下:"+result+" 余数:"+m);

}else{

System.out.println("运算结果如下:"+result);

}

break;

case 'E':

System.out.println("请输入第一个数");

a = sa.nextInt();

System.out.println("请输入第二个数");

b = sa.nextInt();

int i=0;//指数的底数

int sum=1;//用来接收a的b次幂的结果

for(i=0;ib;i++){

sum=sum*a;

result=sum;

}

System.out.println("运算结果如下:"+result);

break;

case 'F':

System.out.println("退出计算器");

break;

default:

System.out.println("无效输入");

break;

}

if(c=='F'){

break;

}

}

}else{

System.out.println("账号或密码输入错误!");

System.out.println("是否继续输入?(1.是0.否)");

isgoing = sa.nextInt();

}

}while(isgoing==1);

}

}

计算器java代码

import java.awt.Color;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.WindowConstants;

import javax.swing.border.LineBorder;

class Normal{

double i,j;

public Normal(double num1,double num2){

i=num1;

j=num2;

}

public double puls(){

return i+j;

}

public double subtract(){

return i-j;

}

public double multiply(){

return i*j;

}

public double divide(){

return i/j;

}

public double surpuls(){

return i%j;

}

}

class scientific extends Normal{

public scientific(int num1, int num2) {

super(num1, num2);

}

}

public class calc extends JFrame{

public static void main(String[] args) {

viewNormal VN= new viewNormal("normal");

}

}

class viewNormal extends JFrame implements ActionListener{

JPanel jp1 = new JPanel(new GridLayout(4,3,5,5));

JPanel jp2 = new JPanel(new GridLayout(5,1,5,5));

JLabel jl;

JButton[] jb;

JButton jbs,jbo,jba,jbb,jbc,jby;

StringBuffer sb = new StringBuffer();

Normal normal;

int dot=0;

double fnum=0;

double lnum=0;

double result;

String sign=null;

public viewNormal(String title){

setTitle(title);

setLayout(null);

setVisible(true);

setBounds(200,200,305,350);

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

jb= new JButton[12];

for(int i=0;i9;i++){

jb[i]=new JButton(""+(i+1));

jp1.add(jb[i]);

jb[i].addActionListener(this);

}

jb[9]=new JButton(".");

jb[10]=new JButton("0");

jb[11]=new JButton("=");

jb[9].addActionListener(this);

jb[10].addActionListener(this);

jb[11].addActionListener(this);

jp1.add(jb[9]);

jp1.add(jb[10]);

jp1.add(jb[11]);

jp1.setBounds(10, 100, 200, 200);

jbs= new JButton("+");jbo= new JButton("-");jba= new JButton("*");

jbb= new JButton("/");jby= new JButton("%");jbc= new JButton("C");

jbs.addActionListener(this);jbo.addActionListener(this);jba.addActionListener(this);

jbb.addActionListener(this);jby.addActionListener(this);jbc.addActionListener(this);

//jp2.add(jby);

jp2.add(jbs);jp2.add(jbo);jp2.add(jba);jp2.add(jbb);jp2.add(jbc);

jp2.setBounds(215, 100, 70, 200);

jl= new JLabel("0",JLabel.RIGHT);

jl.setFont(new Font("Batang",Font.BOLD, 20));

jl.setBorder(new LineBorder(Color.black,2));

jl.setBackground(Color.white);

jl.setBounds(10, 40, 275, 50);

jl.setOpaque(true);

add(jl);

add(jp1);

add(jp2);

}

//+

public void sum(){

lnum=Double.parseDouble(sb.toString());

normal=new Normal(fnum,lnum);

fnum=normal.puls();

result=fnum;

}

//-

private void sub() {

System.out.println(sb.toString());

lnum=Double.parseDouble(sb.toString());

normal=new Normal(fnum,lnum);

fnum=normal.subtract();

result=fnum;

}

//*

private void mul() {

lnum=Double.parseDouble(sb.toString());

normal=new Normal(fnum,lnum);

fnum=normal.multiply();

result=fnum;

}

// /

private void div() {

lnum=Double.parseDouble(sb.toString());

normal=new Normal(fnum,lnum);

fnum=normal.divide();

result=fnum;

}

//%

private void sur() {

lnum=Double.parseDouble(sb.toString());

normal=new Normal(fnum,lnum);

fnum=normal.surpuls();

result=fnum;

}

// =

private void same(){

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

sum();

}

if(sign.equals("-")){

sub();

}

if(sign.equals("*")){

mul();

}

if(sign.equals("/")){

div();

}

if(sign.equals("%")){

sur();

}

}

//result

public void Result(){

if(result%1!=0)

jl.setText(""+result);

else

{

int i=(int)result;

jl.setText(""+i);

}

}

@Override

public void actionPerformed(ActionEvent e) {

//System.out.println(sb.toString());

// 1~9

for(int i=0;i9;i++){

if(e.getSource()==jb[i]!sb.toString().equals("0")){

sb.append(jb[i].getText());

jl.setText(sb.toString());

}

else if(e.getSource()==jb[i]sb.toString().equals("0")){

int d=sb.length();

sb.delete(0, d);

sb.append(jb[i].getText());

jl.setText(sb.toString());

}

}

// 0

if(e.getSource()==jb[10]!sb.toString().equals("0")){

sb.append(jb[10].getText());

jl.setText(sb.toString());

}

// .

if(e.getSource()==jb[9]dot==0!sb.toString().equals("")){

dot++;

sb.append(jb[9].getText());

jl.setText(sb.toString());

}

// =

if(e.getSource()==jb[11]!sb.toString().equals("")){

same();

Result();

int d=sb.length();

sb.delete(0, d);

dot=0;

}

// +

if(e.getSource()==jbs!sb.toString().equals("")){

if(sign!="+"sign!=null)

same();

else

sum();

sign ="+";

Result();

int d=sb.length();

sb.delete(0, d);

dot=0;

}

//-

if(e.getSource()==jbo!sb.toString().equals("")){

if(fnum==0)

fnum=2*Double.parseDouble(sb.toString());

if(sign!="-"sign!=null)

same();

else

sub();

sign ="-";

Result();

int d=sb.length();

sb.delete(0, d);

dot=0;

}

//*

if(e.getSource()==jba!sb.toString().equals("")){

if(fnum==0)

fnum=1;

if(sign!="*"sign!=null)

same();

else

mul();

sign ="*";

Result();

int d=sb.length();

sb.delete(0, d);

dot=0;

}

// /

if(e.getSource()==jbb!sb.toString().equals("")){

if(fnum==0)

fnum=Math.pow(Double.parseDouble(sb.toString()),2);

if(sign!="/"sign!=null)

same();

else

div();

sign ="/";

Result();

int d=sb.length();

sb.delete(0, d);

dot=0;

}

//%

// if(e.getSource()==jby!sb.toString().equals("")){

// if(fnum==0){

// fnum=Double.parseDouble(sb.toString());

// result=fnum;

// }

// else {

// if(sign!="%"sign!=null)

// same();

// else{

// lnum=Double.parseDouble(sb.toString());

// normal=new Normal(fnum,lnum);

// fnum=normal.surpuls();

// result=fnum;

// }

// }

// sign ="%";

// Result();

// int d=sb.length();

// sb.delete(0, d);

// dot=0;

// }

//clear

if(e.getSource()==jbc){

int d=sb.length();

sb.delete(0, d);

jl.setText("0");

dot=0;

fnum=0;

lnum=0;

sign=null;

}

}

}

class viewScientific extends viewNormal{

public viewScientific(String title){

super(title);

setBounds(200,200,800,500);

}

}

//等号以后输入符号用不了, String转 double 本来就有错误,你可以用我的扩展成科学型的。


本文名称:java算术运算器的代码 java算术运算器的代码是什么
本文网址:http://cdweb.net/article/ddocjpp.html