首页编程java编程java编写简易计算器,Java编译器

java编写简易计算器,Java编译器

编程之家2026-06-011063次浏览

大家好,今天给各位分享java编写简易计算器的一些知识,其中也会对Java编译器进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

java编写简易计算器,Java编译器

求JAVA编写的 简易计算器程序,附上注释

1、首先准备好软件即eclipse和java,下载安装完成后打开eclipse。

2、点击左上角的file新建一个project。

3、给project取一个名字,其他的选项都是默认然后点击finish。

4、接下来是新建一个class。

5、在给class取名字的时候注意用英文名的首字母要大写。完成后点击finish。

6、这就是开始写代码的工作台,将代码写在绿字下。

java编写简易计算器,Java编译器

7、这就是第一个hello world程序。

用Java设计一个简单的计算器。

说实在的,你写的这个计算器不怎么样。特别是布局。

我给你一个很简单的吧。你自己学习一下。。

import java.awt.*;

import java.awt.event.*;

/**

java编写简易计算器,Java编译器

*

*@author zzj

*

*/

public class Jisuanqi extends WindowAdapter{

Panel p1= new Panel();

Panel p2= new Panel();

Panel p3= new Panel();

TextField txt;

private Button[] b= new Button[17];

private String ss[]={"7","8","9","+","4","5","6","-","1","2",

"3","*","清空","0","=","/","关闭"};

static double a;

static String s, str;//定义变量创建对像

public static void main(String args[]){

(new Jisuanqi()).frame();

}

public void frame(){

Frame fm= new Frame("简单计算器");

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

b[i]= new Button(ss[i]);

}

for(int i= 0; i<= 15; i++){

p2.add(b[i]);

}//创建按钮并添加到P2

b[16].setBackground(Color.yellow);

txt= new TextField(15);

txt.setEditable(false);

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

b[i].addActionListener(new buttonlistener());//添加监听器

}

b[16].addActionListener(new close());

fm.addWindowListener(this);

fm.setBackground(Color.red);

p1.setLayout(new BorderLayout());

p1.add(txt,"North");

p2.setLayout(new GridLayout(4, 4));

p3.setLayout(new BorderLayout());

p3.add(b[16]);

fm.add(p1,"North");

fm.add(p2,"Center");

fm.add(p3,"South");

fm.pack();

fm.setVisible(true);//都是些窗中设置添加相关组件和监听器

}

public void windowClosing(WindowEvent e){

System.exit(0);//退出系统

}

class buttonlistener implements ActionListener{//编写监听器事件通过按键得出给果

public void actionPerformed(ActionEvent e){

Button btn=(Button) e.getSource();

if(btn.getLabel()=="="){

jisuan();

str= String.valueOf(a);

txt.setText(str);

s="";

} else if(btn.getLabel()=="+"){

jisuan();

txt.setText("");

s="+";

} else if(btn.getLabel()=="-"){

jisuan();

txt.setText("");

s="-";

} else if(btn.getLabel()=="/"){

jisuan();

txt.setText("");

s="/";

} else if(btn.getLabel()=="*"){

jisuan();

txt.setText("");

s="*";

} else{

txt.setText(txt.getText()+ btn.getLabel());

if(btn.getLabel()=="清空")

txt.setText("");

}

}

public void jisuan(){//编写具体计算方法

if(s=="+")

a+= Double.parseDouble(txt.getText());

else if(s=="-")

a-= Double.parseDouble(txt.getText());

else if(s=="*")

a*= Double.parseDouble(txt.getText());

else if(s=="/")

a/= Double.parseDouble(txt.getText());

else

a= Double.parseDouble(txt.getText());

}

}

}

class close implements ActionListener{//退出

public void actionPerformed(ActionEvent e){

System.exit(0);

}

}

怎么用JAVA编程编写一个计算器

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

public class Jisuanqi extends JFrame implements ActionListener{

/**

*

*/

private static final long serialVersionUID= 1L;

Result result= new Result();//定义text的面板

Number_Key number_key= new Number_Key();//定义按钮面板

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

boolean com= false;

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

int i= 0;

//存放text的内容

String text="";

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

double defbutton= 0;

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

int symbol= 0;

//构造函数

Jisuanqi(){

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

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

JPanel pane= new JPanel();//定义主面板

pane.setLayout(new BorderLayout());

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

//替换图标

ImageIcon icon= new ImageIcon("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();//初始化窗体大小为正好盛放所有按钮

}

//各个按钮触发的事件

public void actionPerformed(ActionEvent e){

/*

*如果是点击数字按钮那么先要判断是否在此之前点击了+、-、*、/、=,如果是那么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");

}

} else if(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");

}

} else if(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");

}

} else if(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");

}

} else if(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");

}

} else if(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");

}

} else if(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");

}

} else if(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");

}

} else if(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;否则保持原来的数值不变

*/

else if(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");

}

}

}

} else if(e.getSource()== number_key.ce){

result.text.setText("0");

i= 0;

com= true;

// text="";

defbutton= 0;

}

/*

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

*/

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

}

}

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

else if(e.getSource()== number_key.plus){

com= true;

i= 0;

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

symbol= 1;

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

else if(e.getSource()== number_key.sub){

com= true;

i= 0;

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

symbol= 2;

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

else if(e.getSource()== number_key.mul){

com= true;

i= 0;

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

System.out.println(defbutton);

symbol= 3;

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

else if(e.getSource()== number_key.div){

com= true;

i= 0;

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

symbol= 4;

} else if(e.getSource()== number_key.equal){

switch(symbol){

case 1:{//计算加法

double ad= defbutton

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

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

i= 0;

text="";

break;

}

case 2:{//计算减法

double ad= defbutton

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

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

i= 0;

text="";

break;

}

case 3:{//计算乘法

double ad= defbutton

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

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

i= 0;

text="";

break;

}

case 4:{//计算除法

double ad= 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")

public static void main(String[] args){

Jisuanqi loveyou= new Jisuanqi();

loveyou.show();

}

}

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

class Number_Key extends JPanel{

/**

*

*/

private static final long serialVersionUID= 1L;

JButton zero= new JButton("0");//数字键0

JButton one= new JButton("1");//数字键1

JButton two= new JButton("2");//数字键2

JButton three= new JButton("3");//数字键3

JButton four= new JButton("4");//数字键4

JButton five= new JButton("5");//数字键5

JButton six= new JButton("6");//数字键6

JButton seven= new JButton("7");//数字键7

JButton eight= new JButton("8");//数字键8

JButton nine= new JButton("9");//数字键9

JButton plus= new JButton("+");

JButton sub= new JButton("-");

JButton mul= new JButton("*");

JButton div= new JButton("/");

JButton equal= new JButton("=");

JButton ce= new JButton("清零");//置零键

JButton point= new JButton(".");

Number_Key(){

setLayout(new GridLayout(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);

}

}

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

class Result extends JPanel{

/**

*

*/

private static final long serialVersionUID= 1L;

// text先是输入和结果

JTextField text= new JTextField("0");

@SuppressWarnings("deprecation")

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

text.setHorizontalAlignment(SwingConstants.RIGHT);

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

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

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

}

}

直接复制保存成Jisuanqi.java可以直接运行了

关于java编写简易计算器的内容到此结束,希望对大家有所帮助。

ai各个版本的优缺点,ai各个版本的区别ai各个版本的区别在哪网页设计html模板 HTML+CSS网页设计与制作