java实现简单计算器
用java代码写的简易计算器(可以实现基本的加减乘除功能)
⽤java代码写的简易计算器(可以实现基本的加减乘除功能)package A;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;public class Calcular3 extends JFrame implements ActionListener,MouseListener{private int m1=0,n=0;//private double m2=0;//运算的数private int flag=0;JFrame f;JPanel p1,p2,p3;JTextField t;JButton b1[]=new JButton[18];String b[]= {"1","2","3","4","5","6","7","8","9","0","清空","退格",".","=","+","-","*","/"};public Calcular3(){f=new JFrame("计算器");t=new JTextField(35);p1=new JPanel();p2=new JPanel();p3=new JPanel();f.setBounds(100, 100, 400, 200);f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.EAST);p2.setLayout(new GridLayout(5,3));p3.setLayout(new GridLayout(4,1));p1.add(t);for(int i=0;i<14;i++) {b1[i]=new JButton(b[i]);p2.add(b1[i]);b1[i].addActionListener(this);}for(int i=14;i<18;i++) {b1[i]=new JButton(b[i]);p3.add(b1[i]);b1[i].addActionListener(this);}/*for(int i=0;i<18;i++) {b1[i].addActionListener(this);}*/f.setVisible(true);}//实现接⼝的⽅法public void mouseClicked(MouseEvent e) {}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void actionPerformed(ActionEvent e) {String str="";int i;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {if(i==9) {n=n*10;}else {n=n*10+i+1;}str=String.valueOf(n);//整形n转换成字符串strt.setText(str);//显⽰到⽂本框上}}for(i=14;i<18;i++) {//+、-、*、/if(e.getSource()==b1[i]) {//匹配运算符m1=Integer.parseInt(t.getText());if(flag==15) {m2=m1+m2;}else if(flag==16) {m2=m1-m2;}else if(flag==17) {m2=m1*m2;}else if(flag==18) {m2=m1/m2;}else m2=m1;//若⽆连续的运算符运算,保存当前数据到m2 if(i==14) flag=15;else if(i==15) flag=16;else if(i==16) flag=17;else flag=18;str=String.valueOf(b[i]);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据break;//找到匹配数据退出循环}}if(e.getSource()==b1[13]) {//=m1=Integer.parseInt(t.getText());if(flag==15) {m2=m2+m1;}else if(flag==16) {m2=m2-m1;}else if(flag==17) {m2=m2*m1;}else if(flag==18) {m2=m2/m1;}else m2=m1;str=String.valueOf(m2);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据flag=0;//flag还原0,表明没有未处理的运算符}if(e.getSource()==b1[10]) {//各变量变为0 清空m1=0;m2=0;flag=0;n=0;t.setText("0");//显⽰到⽂本框上}if(e.getSource()==b1[11]) {//退格m1=(int)(Double.parseDouble(t.getText())/10);n=m1;str=String.valueOf(m1);t.setText(str);}if(e.getSource()==b1[12]) {//⼩数点m1=Integer.parseInt(t.getText());str=String.valueOf(m1+b[12]);t.setText(str);//显⽰到⽂本框上int j=0;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {j++;m2=Math.pow(0.1, j)*Integer.parseInt(b[i]);str=String.valueOf(m1+m2);t.setText(str);//显⽰到⽂本框上}}}}//主函数public static void main(String[] args) {new Calcular3();}}。
Java实现简易计算器
Java实训作业题目:Java实现简易计算器学院:姓名:学号:班级:20 年月一、实验目的通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。
此次课程设计实训主要是Java语言程序设计的实现。
通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。
二、实验要求用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。
三、详细内容1.界面设计界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:图1-1其中主要代码为:public mainWindow(){this.setTitle("计算器");//用户图形界面标题this.setVisible(true);//用户图形界面可缩小this.setResizable(false);//用户图形界面不可放大this.setSize(350,300);//设置用户图形界面的大小this.setLocation(400,150);//用户图形界面在屏幕中的显示位置JPanel panel1 = new JPanel();//新建一个画板JPanel panel2 = new JPanel();button1 = new JButton("1");...reset = new JButton("CE");Container container = this.getContentPane();container.add(panel2,BorderLayout.NORTH);container.add(panel1);panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列result.setEnabled(false);result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小result.setEditable(false);result.setHorizontalAlignment(SwingConstants.RIGHT);panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小reciprocal.setFont(new Font("Dialog",Font.PLAIN,20));...panel1.add(divide);divide.setFont(new Font("Dialog",Font.PLAIN,20));panel2.setLayout(new GridLayout());panel2.add(result);//画板panel2添加运算结果2.四则运算较为简单的实现了简单的加、减、乘、除运算,主要代码如下:ActionListener equal1 = new ActionListener(){ //实现四则运算public void actionPerformed(ActionEvent e){String str = result.getText();b = DatatypeConverter.parseDouble(str);{if(flag == "+")c = a + b;else if(flag == "-")c = a - b;else if(flag == "*")c = a * b;else if(flag == "/" || b != 0)c = a / b;}if(flag != "=")result.setText("" + c);elseresult.setText("零不能做除数!");a = 0;b = 0;c = 0;flag = "";}};3.其他功能另外添加了平方根,倒数,平方等功能,主要代码如下:平方根运算的实现:ActionListener sqrt1= new ActionListener(){public void actionPerformed(ActionEvent e){String str = result.getText();double i = DatatypeConverter.parseDouble(str);i = Math.sqrt(i);result.setText("" + i);}};倒数运算的实现:ActionListener reciprocal1 = new ActionListener(){ public void actionPerformed(ActionEvent e){String str = result.getText();double i = DatatypeConverter.parseDouble(str);i = 1/i;result.setText("" + i);}};平方运算的实现:ActionListener square1 = new ActionListener(){public void actionPerformed(ActionEvent e){String str = result.getText();double i = DatatypeConverter.parseDouble(str);i = i*i;result.setText("" + i);}};4.程序测试经测试发现本计算器基本功能均能实现,可正常运行计算,针对功能实现的代码部分过于简单,可以对其进行改善提高,方便用户使用!5.实训小结通过对计算器窗体的编写,熟悉了java图形用户界面的设计原理和程序结构,熟悉了java中awt和swing的组合。
java计算器设计实验报告
java计算器设计实验报告《Java计算器设计实验报告》摘要:本实验报告基于Java语言,设计了一个简单的计算器。
通过使用面向对象的编程方法,实现了基本的加、减、乘、除运算,并且实现了用户界面的交互操作。
本实验报告详细介绍了计算器的设计思路、实现过程和代码结构,并对实验结果进行了分析和总结。
1. 引言计算器是人们日常生活中常用的工具之一,它能够帮助人们进行简单的数学运算。
随着计算器的普及和发展,计算器的功能也越来越丰富,例如科学计算器、金融计算器等。
本实验旨在通过使用Java语言,设计一个简单的计算器,以加深对面向对象编程的理解和应用。
2. 设计思路在设计计算器时,首先需要确定计算器的功能需求,包括加法、减法、乘法、除法等基本运算。
其次,需要考虑用户界面的设计,使用户能够方便地输入数字和选择运算符。
最后,需要考虑计算器的实现方式,包括数据结构的选择、算法的设计等。
3. 实现过程在本实验中,我们使用Java语言和Swing库来实现计算器的设计。
首先,我们创建一个Calculator类来处理计算器的逻辑操作,包括加法、减法、乘法、除法等运算。
然后,我们创建一个CalculatorUI类来处理用户界面的设计,包括数字按钮、运算符按钮和显示屏的设计。
最后,我们将Calculator类和CalculatorUI类进行整合,实现一个完整的计算器。
4. 代码结构以下是计算器的主要代码结构:Calculator类:- add(double a, double b):加法运算- subtract(double a, double b):减法运算- multiply(double a, double b):乘法运算- divide(double a, double b):除法运算CalculatorUI类:- createNumberButton(int number):创建数字按钮- createOperatorButton(String operator):创建运算符按钮- createDisplayScreen():创建显示屏Main类:- main(String[] args):主函数,启动计算器界面5. 实验结果分析通过实验,我们成功地实现了一个简单的计算器,用户能够输入数字并进行加、减、乘、除等运算。
java swing开发案例
java swing开发案例1. 计算器应用程序该应用程序使用Java Swing开发,实现了一个简单的计算器功能。
用户可以输入数字和运算符,并通过按下相应的按钮来执行计算操作。
应用程序会将计算结果显示在屏幕上,并允许用户清除当前计算或进行新的计算。
2. 学生成绩管理系统该应用程序使用Java Swing开发,可以帮助学校或老师管理学生的成绩信息。
用户可以添加新的学生、编辑学生信息、输入学生成绩,并可以通过查询功能来查找特定学生的成绩。
应用程序还可以生成成绩报告,以便用户进行分析和评估。
3. 文件浏览器这个应用程序使用Java Swing开发,模拟了一个简单的文件浏览器。
用户可以浏览计算机上的文件和文件夹,并可以通过点击相应的按钮来打开或删除文件。
应用程序还提供了搜索功能,以便用户可以快速找到所需的文件。
4. 图片编辑器这个应用程序使用Java Swing开发,可以帮助用户编辑和处理图片。
用户可以打开图片文件、调整亮度、对比度和饱和度,并可以进行裁剪、旋转和缩放操作。
应用程序还提供了一些滤镜效果,如黑白、模糊和怀旧效果。
5. 音乐播放器这个应用程序使用Java Swing开发,可以帮助用户播放本地音乐文件。
用户可以选择音乐文件并通过点击播放按钮来播放音乐。
应用程序还提供了控制音乐播放的功能,如暂停、停止和调整音量。
6. 电子邮件客户端这个应用程序使用Java Swing开发,可以帮助用户发送和接收电子邮件。
用户可以登录到他们的电子邮件账户,并可以编写和发送电子邮件。
应用程序还可以从服务器上接收新的电子邮件,并将它们显示在收件箱中。
7. 聊天应用程序这个应用程序使用Java Swing开发,可以帮助用户进行在线聊天。
用户可以登录到他们的聊天账户,并可以与其他在线用户进行实时聊天。
应用程序还提供了一些附加功能,如发送文件和创建群聊。
8. 天气预报应用程序这个应用程序使用Java Swing开发,可以帮助用户获取实时天气信息。
简单的java代码例子
简单的java代码例子1. 使用Java实现一个简单的计算器,可以进行加减乘除运算。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数:");double num1 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):");String operator = scanner.next();System.out.print("请输入第二个数:");double num2 = scanner.nextDouble();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("输入的运算符不正确!");break;}System.out.println("计算结果为:" + result);}}```2. 使用Java实现一个简单的猜数字游戏,随机生成一个1-100之间的整数,让用户猜,直到猜中为止。
```javaimport java.util.Random;import java.util.Scanner;public class GuessNumber {public static void main(String[] args) {Random random = new Random();int number = random.nextInt(100) + 1;Scanner scanner = new Scanner(System.in);int guess;do {System.out.print("请输入你猜的数字(1-100):");guess = scanner.nextInt();if (guess > number) {System.out.println("猜大了!");} else if (guess < number) {System.out.println("猜小了!");}} while (guess != number);System.out.println("恭喜你,猜对了!");}}```3. 使用Java实现一个简单的学生信息管理系统,可以添加、删除、修改、查询学生信息。
JAVA计算器论文
JAVA计算器论文摘要:本文介绍了JAVA计算器的设计和实现过程。
计算器是一种常见的工具,方便人们进行数学运算。
本文使用JAVA编程语言,采用面向对象的设计思想,实现了一个简单的计算器功能。
通过用户界面,用户可以输入数学表达式,并进行运算。
在实现过程中,使用了JAVA的图形用户界面库Swing,通过文本框和按钮等控件,实现了用户界面的设计。
通过对用户的输入进行解析,通过JAVA的计算功能,计算出结果。
在实验阶段,本文对计算器进行了一系列的测试,并找到了一些可能出现的问题并进行了改进,保证了计算器的正确性和稳定性。
实验结果表明,该计算器能够进行简单的数学运算,具有较高的精确性和用户友好性。
1.引言计算器是一种常见的工具,用于计算、解决各种数学问题。
计算器的出现大大方便了人们的生活和学习。
随着计算机的发展,计算器也逐渐发展成为计算机软件的一部分,通过软件实现计算器的功能,使计算器更易于使用和拓展。
本文使用JAVA编程语言,设计和实现了一个简单的计算器功能。
2.设计和实现2.1设计思路JAVA计算器的设计采用了面向对象的设计思想,将计算器的各个功能抽象成对象,并通过调用对象的方法来实现计算器的各种功能。
为了方便用户的使用,设计了一个用户界面,用户可以输入计算表达式,并通过点击按钮来进行运算。
JAVA的图形用户界面库Swing提供了丰富的组件和容器,本文使用了文本框、按钮等控件,来实现用户界面的设计。
2.2用户界面设计用户界面是用户和计算器之间的纽带,影响用户对计算器的使用体验。
本文实现了一个简单的用户界面,主要由一个文本框和一系列按钮组成。
用户可以在文本框中输入需要计算的表达式,并通过点击按钮来触发相应的计算操作。
2.3计算过程在用户输入表达式后,通过解析表达式,将其分解为操作数和操作符。
操作数可以是整数、小数或者其他表达式。
通过调用JAVA的计算功能,对操作数进行计算,并得到计算结果。
将结果显示在用户界面中。
java实验报告——简单计算器的编写五篇范文
java实验报告——简单计算器的编写五篇范文第一篇:java实验报告——简单计算器的编写JAVA实验报告——简单计算器的编写班级:学号:姓名:一、实验目的1.掌握java图形用户界面(GUI)的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.掌握常用组件的事件接口4.应用awt和swing组件进行应用程序设计二、实验条件1.计算机一台2.java软件开发环境三、实验步骤1、编写代码:mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID =-***457Lprivate class WindowCloser extends WindowAdapter {public void windowClosing(WindowEvent we){System.exit(0);}}int i;private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };JButton[] buttons = new JButton[str.length]; JButton reset = new JButton(“CE”); JTextField display = new JTextField(“0”);public JCalculator(){super(“Calculator”);JPanel panel1 = new JPanel(new GridLayout(4, 4)); for(i = 0;i < str.length;i++){buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(“Center”, display);panel2.add(“East”, reset);getContentPane().setLayout(new BorderLayout()); getContentPane().add(“North”, panel2); getContentPane().add(“Center”, panel1);for(i = 0;i < str.length;i++)buttons[i].addActionListener(this);reset.addActionListener(this);display.addActionListener(this); addWindowListener(new WindowCloser()); setSize(800, 800);setVisible(true);pack();}public void actionPerformed(ActionEvent e){ Object target = e.getSource();String label = e.getActionCommand();if(target == reset)handleReset();else if(“0123456789.”.indexOf(label)> 0)handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;public void handleNumber(String key){if(isFirstDigit)display.setText(key);else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))display.setText(display.getText()+ “.”);else if(!key.equals(“.”))display.setText(display.getText()+ key);isFirstDigit = false;}public void handleReset(){display.setText(“0”);isFirstDigit = true;operator = “=”;}double number = 0.0;String operator = “=”;public void handleOperator(String key){if(operator.equals(“+”))number += Double.valueOf(display.getText());else if(operator.equals(“-”))number-= Double.valueOf(display.getText());else if(operator.equals(“*”))number *= Double.valueOf(display.getText());else if(operator.equals(“/”))number /= Double.valueOf(display.getText());else if(operator.equals(“=”))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args){new JCalculator();} }2、运行结果,见截图计算测试:123+456=579结果正确,程序无误。
JAVA编写的计算器源代码
JAVA编写的计算器源代码// Calculator.javaimport javax.swing.*; // 引入swing库import java.awt.*; // 引入awt库import java.awt.event.*; // 引入awt.event库public class Calculator extends JFrame implements ActionListener//定义按钮private JButton zero;private JButton one;private JButton two;private JButton three;private JButton four;private JButton five;private JButton six;private JButton seven;private JButton eight;private JButton nine;private JButton point;private JButton equal; private JButton plus; private JButton minus; private JButton multiply; private JButton divide; private JButton backspace; private JButton ac;private JButton ce;private JButton sqrt; private JButton sqr;private JButton plus_minus; private JButton delete; private JButton sin;private JButton cos;private JButton tan;private JButton log;private JButton nfactorial; private JButton cubic; private JButton coln;private JButton factorial;//定义文本框private JTextField resulttext;// 定义boolean变量boolean clrdisp = true; // 昵称确定是否清除计算器显示boolean isCalculate = false; // 是否可以执行计算// 定义String变量,用于存储操作符String optr;//定义存储第一个操作数double num1;//初始化构造函数public Calculato//设置布局setLayout(new BorderLayout();//创建面板JPanel northPanel = new JPanel(;JPanel centerPanel = new JPanel(;JPanel southPanel = new JPanel(;//设置面板布局northPanel.setLayout(new FlowLayout(); centerPanel.setLayout(new GridLayout(4, 5)); southPanel.setLayout(new FlowLayout();//设置计算器显示resulttext = new JTextField(28); northPanel.add(resulttext);resulttext.setEditable(false);//初始化按钮zero = new JButton("0");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");point = new JButton(".");equal = new JButton("=");plus = new JButton("+");minus = new JButton("-"); multiply = new JButton("*"); divide = new JButton("/"); backspace = new JButton("<-"); ac = new JButton("AC");ce = new JButton("CE");sqrt = new JButton("sqrt");sqr = new JButton("sqr");plus_minus = new JButton("+/-");。
Java-实验四GUI简易计算器
实验四GUI图形界面设计一实验要求1、掌握Awt与Swing的区别与联系;掌握Swing常用图像组件的使用;掌握主要的布局管理器的使用方法;2、了解事件处理机制;掌握Swing常用图像组件的使用;掌握固定菜单和弹出式菜单的创建和使用;二实验内容1、设计并实现一个类似于windows操作系统附件中自带的计算器的一款简单的计算器,要求界面美观,设计合理;带有常用的菜单并实现其功能;能完成加、减、乘、除等简单的计算,在下面写出其核心代码。
(1)源代码package com.cal;import java。
awt。
*;import javax。
swing。
*;import java。
awt。
event。
*;import java。
util。
Stack;import java.awt。
GridLayout;class Cal extends JFrame implements ActionListener {JTextField show=null;JPanel jp1,jp2;JButton c,jia,jian,cheng,chu,equ,point;//按钮清空加,减,乘 ,除,等号,小数点JButton b[] = new JButton[10];//按钮数组 0-9//栈控制标记位int flag=1;//结果标记位int reflag=0;public Cal(){//创建组件jp1=new JPanel();jp2=new JPanel();show=new JTextField(45);show.setFont(new Font(”宋体",Font。
PLAIN,16));jia=new JButton(” + ");jian=new JButton(” —”);cheng=new JButton(” * ”);chu=new JButton(” / ");equ=new JButton(” = ”);equ。
Java实现计算器
Java实现简易计算器,可以计算算术表达式:Java源码如下://GridFrame.java文件import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;//计算机框架布局public class GridFrame extends JFrame{//定义面板,并设置为网格布局,4行4列,组件水平、垂直间距均为3JPanel p=new JPanel(new GridLayout(5,4,3,3));JTextArea out=new JTextArea();//定义文本框String temp="";//定义字符串数组,为按钮的显示文本赋值//注意字符元素的顺序与循环添加按钮保持一致Stringstr[]={"C","(",")","BS","7","8","9","/","4","5","6"," *","1","2","3","-","0",".","=","+"};JButton btn[]=new JButton[str.length]; //声明按钮数组public GridFrame(String s){super(s);//为窗体名称赋值setLayout(new BorderLayout());//定义窗体布局为边界布局//循环定义按钮,并添加到面板中for(int i=0;i<str.length;i++){btn[i]=new JButton(str[i]);btn[i].addActionListener(al);p.add(btn[i]);}//将文本框放置在窗体NORTH位置getContentPane().add(out,BorderLayout.NORTH);out.setRows(2);//将面板放置在窗体CENTER位置getContentPane().add(p,BorderLayout.CENTER);setVisible(true);setSize(350,250);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);//让窗体居中显示}//实现监听器ActionListener al=new ActionListener(){public void actionPerformed(ActionEvent e){Object currKey=e.getSource();if(currKey==btn[12]){out.setText(out.getText()+"1");}else if(currKey==btn[13]){out.setText(out.getText()+"2");}else if(currKey==btn[14]){out.setText(out.getText()+"3");}else if(currKey==btn[8]){}else if(currKey==btn[9]){ out.setText(out.getText()+"5"); }else if(currKey==btn[10]){ out.setText(out.getText()+"6"); }else if(currKey==btn[4]){ out.setText(out.getText()+"7"); }else if(currKey==btn[5]){ out.setText(out.getText()+"8"); }else if(currKey==btn[6]){ out.setText(out.getText()+"9"); }else if(currKey==btn[16]){ out.setText(out.getText()+"0"); }else if(currKey==btn[17]){ out.setText(out.getText()+"."); }else if(currKey==btn[1]){ out.setText(out.getText()+"("); }else if(currKey==btn[2]){ out.setText(out.getText()+")"); }else if(currKey==btn[7]){ out.setText(out.getText()+"/"); }else if(currKey==btn[11]){}else if(currKey==btn[15]){out.setText(out.getText()+"-");}else if(currKey==btn[19]){out.setText(out.getText()+"+");}else if(currKey==btn[18]){out.setText(out.getText()+"\n=");temp=out.getText();temp=temp.substring(0,out.getText().length()-2);;Calculator cal=new Calculator(temp);out.setText(out.getText()+String.valueOf(cal.getRes ult()));}//清除键if(currKey==btn[0]){out.setText("");}//退格键if(currKey==btn[3]){String str=out.getText();if(str.length()!=0){String str1=str.substring(0, str.length()-1);out.setText(str1);}}}};public static void main(String[]args){GridFrame gl=new GridFrame("简易计算机!");}}//ArithHelper.java文件public class ArithHelper{//默认除法运算精度private static final int DEF_DIV_SCALE=16;//这个类不能实例化private ArithHelper(){}/***提供精确的加法运算。
java代码写的简易计算器(可以实现基本的加减乘除功能)
java代码写的简易计算器(可以实现基本的加减乘除功能)计算器java写⼀个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过⽤户交互实现。
import java.util.Scanner;/*** 计算器* 写4个⽅法:加减乘除* 利⽤循环加switch进⾏⽤户交互* 传递需要操作的两个数* 输出结果*/public class Demo04 {public static double a;public static double b;//运算符public static String operator;//=符public static String equal;//结果public static double sum=0;public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("输⼊数字:");a = scanner.nextDouble();System.out.println("输⼊运算符:");operator = scanner.next();System.out.println("输⼊数字:");b = scanner.nextDouble();do {switch (operator){case "+":sum= add(a, b);System.out.println("输⼊=获取结果:");equal = scanner.next();coninue();break;case "-":sum=subtract(a,b);System.out.println("输⼊=获取结果:");equal = scanner.next();coninue();break;case "*":sum=multiply(a,b);System.out.println("输⼊=获取结果:");equal = scanner.next();coninue();break;case "/":if (b==0){System.out.println("被除数不能为0");operator = "q";break;}else {sum=divide(a,b);System.out.println("输⼊=获取结果:");equal = scanner.next();coninue();break;}default:System.out.println("运算符输⼊错误!");}}while (operator.equals("+")||operator.equals("-")||operator.equals("*")||operator.equals("/"));scanner.close();}//加public static double add(double a,double b){return a+b;}//减public static double subtract(double a,double b){return a-b;}//乘public static double multiply(double a,double b){return a*b;}//除public static double divide(double a,double b){return a/b;}//获得结果或再次输⼊public static void coninue(){Scanner scanner = new Scanner(System.in);if (equal.equals("=")){System.out.println(a+operator+b+"="+sum);System.out.println("输⼊运算符+,-,*,/继续或输⼊其他字符结束");operator=scanner.next();if (operator.equals("+")||operator.equals("-")||operator.equals("*")||operator.equals("/")){ System.out.println("输⼊数字:");b = scanner.nextDouble();a=sum;}else {System.out.println("输⼊错误!");}}else {System.out.println("输⼊错误!");}}}。
java 计算器实验报告
java 计算器实验报告Java计算器实验报告引言:计算器是我们日常生活中常用的工具,使用计算器可以快速进行数学运算。
在计算器中,我们可以通过输入数字和运算符来执行各种算术操作。
为了更好地理解计算器的工作原理,我们进行了Java计算器的实验。
一、实验目的本次实验的目的是设计和实现一个简单的Java计算器。
通过这个实验,我们可以加深对Java编程语言的理解,并且掌握Java图形用户界面(GUI)的基本知识。
二、实验环境本次实验使用的是Java开发工具包(JDK)和Eclipse集成开发环境(IDE)。
在实验之前,我们需要确保已经正确安装了JDK和Eclipse。
三、实验步骤1. 创建一个新的Java项目,并命名为"Calculator"。
2. 在项目中创建一个新的Java类,命名为"CalculatorGUI"。
3. 在"CalculatorGUI"类中,创建一个窗口,并设置窗口的标题和大小。
4. 在窗口中添加一个文本框,用于显示计算结果。
5. 在窗口中添加一些按钮,用于输入数字和运算符。
6. 为每个按钮添加事件监听器,以便在用户点击按钮时执行相应的操作。
7. 实现计算器的基本功能,包括加法、减法、乘法和除法。
8. 运行程序,测试计算器的功能。
四、实验结果经过实验,我们成功地实现了一个简单的Java计算器。
用户可以通过按钮输入数字和运算符,并且计算器可以正确地执行相应的运算。
计算结果会显示在文本框中。
五、实验总结通过这个实验,我们学习了如何使用Java编程语言创建图形用户界面,并且掌握了Java计算器的基本实现方法。
在实验过程中,我们遇到了一些问题,比如如何处理用户输入错误的情况,如何处理除数为零的情况等。
通过不断调试和改进,我们最终解决了这些问题,并实现了一个功能完善的计算器。
在今后的学习和工作中,我们可以进一步扩展这个计算器的功能,比如添加科学计算功能、实现复杂运算等。
java实现简单的加减乘除计算器
java实现简单的加减乘除计算器本⽂实例为⼤家分享了java实现加减乘除计算器的具体代码,供⼤家参考,具体内容如下代码123456 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.FlowLayout;import javax.swing.*;@SuppressWarnings("unused")class Sumjp {JOptionPane jp = new JOptionPane();Sumjp(String str) {JOptionPane.showMessageDialog(null, str);System.exit(0);}Sumjp(String[] str){}}public class JiSuan extends JFrame implements ActionListener,ItemListener{ /****/private static final long serialVersionUID = 1L;double x1,x2,sum = 0;String f;JTextField txt = new JTextField(30);JTextField txt1 = new JTextField(5);JTextField txt2 = new JTextField(5);JTextField txt3 = new JTextField(5);JLabel lb1 = new JLabel("数据1:");JLabel lb2 = new JLabel("符号:");JLabel lb3 = new JLabel("数据2:");JButton jbtn = new JButton("确定");JiSuan(){setSize(350,150);setVisible(true);setTitle("计算器:");setDefaultCloseOperation(EXIT_ON_CLOSE);setLayout(new FlowLayout());add(lb1);add(txt1);// add(lb2);// add(txt2);JComboBox<String> jc = new JComboBox<String>();jc.addItem("加");jc.addItem("减");jc.addItem("乘");jc.addItem("除");545556575859606162636465666768697071727374757677787980818283848586878889add(jc); add(lb3);add(txt3); add(jbtn); add(txt);validate();jc.addItemListener(this);jbtn.addActionListener(this); } public void itemStateChanged(ItemEvent ie){ f = (String)ie.getItem().toString(); }public void actionPerformed(ActionEvent e){x1 = Double.parseDouble(txt1.getText());//f = txt2.getText(); x2 = Double.parseDouble(txt3.getText()); if(f.equals("加")){ sum = x1 + x2;}if(f.equals("减")){sum = x1 - x2; } if(f.equals("乘")){sum = x1*x2;}if(f.equals("")){ sum = x1/x2; }txt.setText(x1 + f + x2 + "=" + sum);new Sumjp(x1 + f + x2 + "=" + sum);}public static void main(String[] args) {// TODO ⾃动⽣成的⽅法存根new JiSuan();} }⼩编再为⼤家分享⼀段代码,感谢作者分享:利⽤java 语法做⼀个很简单的加减乘除计算器:12345678910111213/* 实现思路:1.选择所有数据从键盘输⼊2.使⽤switch 语句进⾏判断3.需要从控制台上输⼊三次 *第⼀个数字 *运算符*第⼆个数字最终在控制台上显⽰:欢迎使⽤简单计算器系统: 请输⼊第⼀个数字:10 请输⼊运算符:+1415161718192021222324252627282930313233343536373839404142434445464748495051525354请输⼊第⼆个数字:20运算结果:10+20=30s.nextInt(); */public class Calculator {public static void main(String[] args){java.util.Scanner s = new java.util.Scanner(System.in); System.out.println("欢迎使⽤简单计算器");System.out.print("请输⼊第⼀个数字:"); int num1 = s.nextInt();System.out.print("请输⼊运算符:"); String operator = s.next(); System.out.print("请输⼊第⼆个数字:"); int num2 = s.nextInt();int result = 0;switch (operator){case "+":result = num1 + num2;break;case "-":result = num1 - num2; break; case "*": result = num1 * num2; break;case "/":result = num1 * num2;break;case "%": result = num1 % num2; } System.out.println(num1+operator+num2+"="+result); }}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
java简易计算器设计思路
java简易计算器设计思路Java简易计算器设计思路一、引言计算器是我们日常生活中常用的工具之一,可以帮助我们进行各种简单的数学计算。
本文将介绍如何使用Java编程语言设计一个简易的计算器。
二、功能需求我们的计算器需要具备以下基本功能:1. 实现加、减、乘、除四则运算;2. 能够处理小数、整数和负数的运算;3. 具备清除操作,清零当前计算结果;4. 能够处理连续计算,即进行多次连续的运算。
三、设计思路在设计简易计算器时,我们可以考虑以下步骤:1. 用户界面设计首先,我们需要设计一个用户界面,让用户能够输入数字和选择运算符号。
可以使用Java的Swing或JavaFX进行界面设计。
2. 输入数字和运算符在用户界面中,我们可以使用文本框和按钮来实现数字的输入和运算符的选择。
用户在文本框中输入数字,然后点击相应的按钮选择运算符号。
3. 运算处理根据用户的选择,我们可以利用Java中的if或switch语句来进行相应的运算处理。
比如用户选择加法运算,则获取用户输入的两个数字并相加。
同样,对于减法、乘法和除法运算,我们也可以使用相应的语句进行处理。
4. 显示结果最后,我们需要将计算结果显示在用户界面的文本框中。
将处理后的结果显示在界面上,让用户直观地看到计算结果。
5. 清除操作我们还可以添加一个清除按钮,使用户能够清除当前的计算结果,重新进行新的计算。
四、扩展功能除了基本的计算功能外,我们还可以考虑增加以下扩展功能:1. 添加括号功能,使计算器能够处理复杂的表达式;2. 添加开平方、取余、求幂等高级运算;3. 添加历史记录功能,保存用户之前的计算结果;4. 添加单位转换功能,使计算器能够进行长度、重量、温度等单位之间的转换。
五、总结通过以上设计思路,我们可以实现一个简易的计算器,满足用户的基本计算需求。
同时,我们可以根据实际需求添加扩展功能,提升计算器的实用性和灵活性。
希望本文对您设计和实现一个Java简易计算器有所帮助。
各种计算器java代码
第一种:import java.awt.*;import java.awt.event.*;public class Cal {public static void main(String[] args) {CalFrame f = new CalFrame();}}class CalFrame extends Frame {double d1, d2;int op = -1;TextField tf;CalPanelL p1;CalPanelR p2;// ConstructorCalFrame() {super("Small Calculator");setLayout(new FlowLayout(FlowLayout.CENTER,8,10));setBackground(new Color(100,150,150));setForeground(Color.white);setResizable(false);setSize(300,200);tf = new TextField(22);tf.setEditable(false);tf.setBackground(new Color(108,118,103));tf.setForeground(Color.white);tf.setFont(new Font("Arial",Font.BOLD,16));add(tf);p1 = new CalPanelL();p2 = new CalPanelR();add(p1);add(p2);setVisible(true);addWindowListener(new Wclose());}// inner class:CalButtonclass CalButton extends Button {CalButton(String s){super(s);setBackground(Color.gray);}}// inner class: CalPanelLclass CalPanelL extends Panel {CalButton b0, b1, b2, b3,b4, b5, b6, b7,b8, b9, bPN, bPoint;CalPanelL() {setLayout(new GridLayout(4,3));setFont(new Font("TimesRoman",Font.BOLD,16));b0 = new CalButton("0");b1 = new CalButton("1");b2 = new CalButton("2");b3 = new CalButton("3");b4 = new CalButton("4");b5 = new CalButton("5");b6 = new CalButton("6");b7 = new CalButton("7");b8 = new CalButton("8");b9 = new CalButton("9");bPN = new CalButton("+/-");bPoint = new CalButton(".");// 加入按钮add(b7); b7.addActionListener(new PressB7());add(b8); b8.addActionListener(new PressB8());add(b9); b9.addActionListener(new PressB9());add(b4); b4.addActionListener(new PressB4());add(b5); b5.addActionListener(new PressB5());add(b6); b6.addActionListener(new PressB6());add(b1); b1.addActionListener(new PressB1());add(b2); b2.addActionListener(new PressB2());add(b3); b3.addActionListener(new PressB3());add(b0); b0.addActionListener(new PressB0());add(bPN); bPN.addActionListener(new PressBPN()); ;add(bPoint); bPoint.addActionListener(new PressBPoint());}}class CalPanelR extends Panel {CalButton bAdd, bSub, bMul, bDiv,bSqrt, bSin, bCos, bYx,bLn, bEqual, bCE, bBack;CalPanelR() {setLayout(new GridLayout(4,3));setFont(new Font("TimesRoman",Font.BOLD,16));bAdd = new CalButton("+");bSub = new CalButton("-");bMul = new CalButton("*");bDiv = new CalButton("/");bSqrt = new CalButton("sqrt");bSin = new CalButton("sin");bCos = new CalButton("cos");bYx = new CalButton("y^x");bLn = new CalButton("ln");bEqual = new CalButton("=");bCE = new CalButton("CE");bBack = new CalButton("<-");add(bDiv); bDiv.addActionListener(new PressBDiv());add(bSqrt); bSqrt.addActionListener(new PressBSqrt());add(bLn); bLn.addActionListener(new PressBLn());add(bMul); bMul.addActionListener(new PressBMul());add(bSin); bSin.addActionListener(new PressBSin());add(bBack); bBack.addActionListener(new PressBBack());add(bSub); bSub.addActionListener(new PressBSub());add(bCos); bCos.addActionListener(new PressBCos());add(bCE); bCE.addActionListener(new PressBCE());add(bAdd); bAdd.addActionListener(new PressBAdd());add(bYx); bYx.addActionListener(new PressBYx());add(bEqual); bEqual.addActionListener(new PressBEqual());}}class PressBAdd implements ActionListener {public void actionPerformed(ActionEvent e) {try {d1 = Double.parseDouble(tf.getText());op = 0;tf.setText("");} catch(Exception ee) {}}}class PressBSub implements ActionListener {public void actionPerformed(ActionEvent e) {try {d1 = Double.parseDouble(tf.getText());op = 1;tf.setText("");} catch(Exception ee) {}}}class PressBMul implements ActionListener {public void actionPerformed(ActionEvent e) {try {d1 = Double.parseDouble(tf.getText());op = 2;tf.setText("");} catch(Exception ee) {}}}class PressBDiv implements ActionListener {public void actionPerformed(ActionEvent e) {try {d1 = Double.parseDouble(tf.getText());op = 3;tf.setText("");} catch(Exception ee) {}}}class PressBYx implements ActionListener {public void actionPerformed(ActionEvent e) {try {d1 = Double.parseDouble(tf.getText());op = 4;tf.setText("");} catch(Exception ee) {}}}class PressBEqual implements ActionListener {public void actionPerformed(ActionEvent e) {try {double result = 0;d2 = Double.parseDouble(tf.getText());switch(op) {case 0:result = d1 + d2;break;case 1:result = d1 - d2;break;case 2:result = d1 * d2;break;case 3:result = d1 / d2;break;case 4:result = Math.pow(d1,d2);break;default:}tf.setText(String.valueOf(result));} catch(Exception ee) {}}}class PressBSqrt implements ActionListener {public void actionPerformed(ActionEvent e) {try {double x = Double.parseDouble(tf.getText());double y;y = Math.sqrt(x);tf.setText(y+"");} catch(Exception ee) {}}}class PressBLn implements ActionListener {public void actionPerformed(ActionEvent e) {try {double x = Double.parseDouble(tf.getText());double y;y = Math.log(x);tf.setText(y+"");} catch(Exception ee) {}}}class PressBSin implements ActionListener {public void actionPerformed(ActionEvent e) {try {double x = Double.parseDouble(tf.getText());double y;y = Math.sin(x);tf.setText(y+"");} catch(Exception ee) {}}}class PressBCos implements ActionListener {public void actionPerformed(ActionEvent e) {try {double x = Double.parseDouble(tf.getText());double y;y = Math.cos(x);tf.setText(y+"");} catch(Exception ee) {}}}class PressBBack implements ActionListener {public void actionPerformed(ActionEvent e) {try {String text = tf.getText();text = text.substring(0,text.length()-1);tf.setText(text);} catch(Exception ee) {}}}class PressBCE implements ActionListener {public void actionPerformed(ActionEvent e) {tf.setText("");}}class PressBPN implements ActionListener {public void actionPerformed(ActionEvent e){try{String text = tf.getText();if (text != "")if(text.charAt(0) == '-')tf.setText(text.substring(1));else if(text.charAt(0) >= '0' && text.charAt(0) <= '9')tf.setText("-"+text.substring(0));else if(text.charAt(0) == '.')tf.setText("-0"+text.substring(0));}catch(Exception ee){}}}class PressBPoint implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();if(stIndexOf(".") == -1)tf.setText(text+".");}}class PressB0 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"0");}}class PressB1 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"1");}}class PressB2 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"2");}}class PressB3 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"3");}}class PressB4 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"4");}}class PressB5 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"5");}}class PressB6 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"6");}}class PressB7 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"7");}}class PressB8 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"8");}}class PressB9 implements ActionListener {public void actionPerformed(ActionEvent e) {String text = tf.getText();tf.setText(text+"9");}}// class: Wcloseclass Wclose extends WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0);}}}第二种:import java.awt.*;import java.awt.event.*;import java.applet.*;import javax.swing.JOptionPane;public class Calculator extends Applet implements ActionListener { Button backButton=new Button("退格");Button clearButton=new Button("清除");Panel p1 = new Panel(new FlowLayout());Panel p2 = new Panel(new GridLayout(2,1));Panel p3 = new Panel(new GridLayout(4,5,5,5));TextField t=new TextField("0");float num1=0;char ch='#';boolean can=false;public void init(){t.setFont(new Font("宋体",Font.BOLD,25));backButton.setFont(new Font("黑体",Font.BOLD,15));backButton.setForeground(Color.red);clearButton.setFont(new Font("黑体",Font.BOLD,15));clearButton.setForeground(Color.red);p1.add(backButton);p1.add(clearButton);backButton.addActionListener(this);clearButton.addActionListener(this);p2.add(t);p2.add(p1);p2.setBackground(Color.black);p3.setBackground(Color.black);this.setLayout(new BorderLayout());this.add(p2,"North");this.add(p3,"Center");String buttonStr = "789/A456*B123-C0.D+=";for (int i = 0; i < buttonStr.length(); i++)this.addButton(p3,buttonStr.substring(i, i + 1));}private void addButton(Container c, String s) {Button b = new Button(s);if (s.equals("A"))b.setLabel("sqrt");else if (s.equals("B"))b.setLabel("1/x");else if (s.equals("C"))b.setLabel("%");else if (s.equals("D"))b.setLabel("+/-");b.setForeground(Color.blue);b.setFont(new Font("黑体",Font.BOLD,15));c.add(b);b.addActionListener(this);}public void actionPerformed(ActionEvent e){String act=e.getActionCommand();if(e.getSource()==backButton){if(t.getText().length()>1)t.setText(t.getText().substring(0, t.getText().length()-1));elset.setText("0");return;}if(e.getSource()==clearButton){t.setText("0");ch='#';return;}if(act.equals("+/-")){if(t.getText().charAt(0)!='-')t.setText("-"+t.getText());elset.setText(t.getText().substring(1));return;}if(act.equals(".")){t.setText(t.getText()+act);return;}if(act!="1/x"&&act.charAt(0)>='0'&&act.charAt(0)<='9'){if(can){t.setText(act);can=false;}else{try{if(Float.parseFloat(t.getText())==0){if(t.getText().equals("0."))t.setText(t.getText()+act);elset.setText(act);return;}else {t.setText(t.getText()+act);return;}}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!", JOptionPane.ERROR_MESSAGE);return;}}}if(act.equals("+")||act.equals("-")||act.equals("*")||act.equals("/")||act.equals("%")){if(ch!='#'){try{num1=cacu(num1,ch,Float.parseFloat(t.getText()));t.setText(String.valueOf(num1));ch=act.charAt(0);can=true;return;}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!", JOptionPane.ERROR_MESSAGE);return;}}else{try{num1=Float.parseFloat(t.getText());ch=act.charAt(0);can=true;return;}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!",JOptionPane.ERROR_MESSAGE);return;}}}if(act.equals("sqrt")){try{float num=(float)Math.sqrt(Float.parseFloat(t.getText()));t.setText(String.valueOf(num));can=true;return;}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!",JOptionPane.ERROR_MESSAGE);return;}}if(act.equals("1/x"))try{float num=1/Float.parseFloat(t.getText());t.setText(String.valueOf(num));can=true;return;}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!",JOptionPane.ERROR_MESSAGE);return;}catch(ArithmeticException e1){JOptionPane.showMessageDialog(null, "除0错误!", "警告!",JOptionPane.ERROR_MESSAGE);return;}if(act.equals("=")){ can=true;try{if(ch=='#')return;float num=Float.parseFloat(t.getText());num1=cacu(num1,ch,num);t.setText(String.valueOf(num1));ch='#';return;}catch(NumberFormatException e1){JOptionPane.showMessageDialog(null, "输入格式错误!", "警告!", JOptionPane.ERROR_MESSAGE);return;}} }public float cacu(float a,char c,float b){float sum;switch(c){case '+':sum=a+b;break;case '-':sum=a-b;break;case '*':sum=a*b;break;case '/':if(b==0){JOptionPane.showMessageDialog(null, "除0错误!", "警告!", JOptionPane.ERROR_MESSAGE);return 0;}sum=a/b;break;case '%':if(b==0){JOptionPane.showMessageDialog(null, "除0错误!", "警告!",JOptionPane.ERROR_MESSAGE);return 0;}sum=a%b;break;default:return 0;}return sum;}}第三种:最简单的计算器代码:import java.awt.Container;import java.awt.GridLayout;/*GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。
java简易计算机代码
java简易计算机代码Java是一种面向对象的编程语言,广泛应用于计算机编程领域。
下面我们来看一段简易的Java代码,实现一个计算器的功能。
我们需要定义一个Calculator类,代码如下:```javapublic class Calculator {// 定义两个整型变量,用于存储输入的数字private int num1;private int num2;// 构造方法,用于初始化Calculator对象public Calculator(int num1, int num2) {this.num1 = num1;this.num2 = num2;}// 加法运算方法public int add() {return num1 + num2;}// 减法运算方法public int subtract() {return num1 - num2;}// 乘法运算方法public int multiply() {return num1 * num2;}// 除法运算方法public double divide() {// 判断除数是否为0,避免除以0的错误if (num2 != 0) {return (double)num1 / num2;} else {System.out.println("除数不能为0!");return 0;}}// 主方法,程序入口public static void main(String[] args) {// 创建一个Calculator对象,传入两个待计算的数值Calculator calculator = new Calculator(10, 5);// 调用加法运算方法,并输出结果int sum = calculator.add();System.out.println("两数之和:" + sum);// 调用减法运算方法,并输出结果int difference = calculator.subtract();System.out.println("两数之差:" + difference);// 调用乘法运算方法,并输出结果int product = calculator.multiply();System.out.println("两数之积:" + product);// 调用除法运算方法,并输出结果double quotient = calculator.divide();if (quotient != 0) {System.out.println("两数之商:" + quotient);}}}```在上面的代码中,我们首先定义了一个Calculator类,包含了两个私有的整型变量num1和num2,用于存储输入的数字。
eclipse实现简单计算器代码
package Computer;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import java.util.LinkedList;import java.text.NumberFormat;public class Cacultor extends Frame implements ActionListener{/*** @param args*/NumberButton numberButton[];OperationButton operationButton[];Button 小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮; Panel panel;JTextField resultShow;String 运算符号[]={"+","-","*","/"};LinkedList 链表;boolean 是否按下等号=false;public Cacultor(){super("计算器");链表=new LinkedList();numberButton=new NumberButton[10];for(int i=0;i<=9;i++){numberButton[i]=new NumberButton(i);numberButton[i].addActionListener(this);}operationButton=new OperationButton[4];for(int i=0;i<4;i++){operationButton[i]=new OperationButton(运算符号[i]); operationButton[i].addActionListener(this);}小数点按钮=new Button(".");正负号按钮=new Button("+/-");等号按钮=new Button("=");求倒数按钮=new Button("1/x");退格按钮=new Button("退格");清零按钮=new Button("c");清零按钮.setForeground(Color.red);退格按钮.setForeground(Color.red);等号按钮.setForeground(Color.red);求倒数按钮.setForeground(Color.blue); 正负号按钮.setForeground(Color.blue); 小数点按钮.setForeground(Color.blue); 退格按钮.addActionListener(this);清零按钮.addActionListener(this);等号按钮.addActionListener(this);小数点按钮.addActionListener(this); 正负号按钮.addActionListener(this); 求倒数按钮.addActionListener(this); resultShow=new JTextField(10);resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue);resultShow.setFont(new Font("TimesRoman",Font.PLAIN,14)); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED)); resultShow.setBackground(Color.white);resultShow.setEditable(false);panel=new Panel();panel.setLayout(new GridLayout(4,5));panel.add(numberButton[1]);panel.add(numberButton[2]);panel.add(numberButton[3]);panel.add(operationButton[0]);panel.add(清零按钮);panel.add(numberButton[4]);panel.add(numberButton[5]);panel.add(numberButton[6]);panel.add(operationButton[1]);panel.add(退格按钮);panel.add(numberButton[7]);panel.add(numberButton[8]);panel.add(numberButton[9]);panel.add(operationButton[2]);panel.add(求倒数按钮);panel.add(numberButton[0]);panel.add(正负号按钮);panel.add(小数点按钮);panel.add(operationButton[3]);panel.add(等号按钮);add(panel,BorderLayout.CENTER);add(resultShow,BorderLayout.NORTH); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0);}});setVisible(true);setBounds(100,50,240,180);setResizable(false);validate();}//按钮事件的处理public void actionPerformed(ActionEvent e){if(e.getSource() instanceof NumberButton){NumberButton b=(NumberButton)e.getSource();if(链表.size()==0){int number=b.getNumber();链表.add(""+number);resultShow.setText(""+number);是否按下等号=false;}else if(链表.size()==1&&是否按下等号==false){ int number=b.getNumber();String num=(String)链表.getFirst();String s=num.concat(""+number);链表.set(0, s);resultShow.setText(s);}else if(链表.size()==1&&是否按下等号==true){ int number=b.getNumber();链表.removeFirst();链表.add(""+number);是否按下等号=false;resultShow.setText(""+number);}else if(链表.size()==2){int number=b.getNumber();链表.add(""+number);resultShow.setText(""+number);}else if(链表.size()==3){int number=b.getNumber();String num=(String)链表.getLast();String s=num.concat(""+number);链表.set(2, s);resultShow.setText(s);}}else if(e.getSource()instanceof OperationButton){ OperationButton b=(OperationButton)e.getSource();if(链表.size()==1){String fuhao=b.get运算符号();链表.add(fuhao);}else if(链表.size()==2){String fuhao=b.get运算符号();链表.set(1, fuhao);}else if(链表.size()==3){String fuhao=b.get运算符号();String number1=(String)链表.getFirst(); String number2=(String)链表.getLast(); String 运算符号=(String)链表.get(1);try{double n1=Double.parseDouble(number1); double n2=Double.parseDouble(number2); double n=0;if(运算符号.equals("+")){n=n1+n2;}else if(运算符号.equals("-")){n=n1-n2;}else if(运算符号.equals("*")){n=n1*n2;}else if(运算符号.equals("/")){n=n1/n2;}链表.clear();链表.add(""+n);链表.add(fuhao);resultShow.setText(""+n);}catch(Exception ee){}}}else if(e.getSource()==等号按钮){是否按下等号=true;if(链表.size()==1&&链表.size()==2){ String num=(String)链表.getFirst(); resultShow.setText(""+num);}else if(链表.size()==3){String number1=(String)链表.getFirst();String number2=(String)链表.getLast(); String 运算符号=(String)链表.get(1); try{double n1=Double.parseDouble(number1); double n2=Double.parseDouble(number2); double n=0;if(运算符号.equals("+")){n=n1+n2;}else if(运算符号.equals("-")){n=n1-n2;}else if(运算符号.equals("*")){n=n1*n2;}else if(运算符号.equals("/")){n=n1/n2;}resultShow.setText(""+n);链表.set(0, ""+n);链表.removeLast();链表.removeLast();}catch(Exception ee){}}}else if(e.getSource()==小数点按钮){ if(链表.size()==0){是否按下等号=false;}else if(链表.size()==1){String dot=小数点按钮.getLabel(); String num=(String)链表.getFirst(); String s=null;if(num.indexOf(dot)==-1){s=num.concat(dot);链表.set(0, s);}else{s=num;}链表.set(0, s);resultShow.setText(s);}else if(链表.size()==3){String dot=小数点按钮.getLabel(); String num=(String)链表.getLast(); String s=null;if(num.indexOf(dot)==-1){s=num.concat(dot);链表.set(2, s);}else{s=num;}resultShow.setText(s);}}else if(e.getSource()==退格按钮){if(链表.size()==1){String num=(String)链表.getFirst(); if(num.length()>=1){num=num.substring(0,num.length()-1); 链表.set(0, num);resultShow.setText(num);}else{链表.removeLast();resultShow.setText("0");}}else if(链表.size()==3){String num=(String)链表.getLast();if(num.length()>=1){num=num.substring(0,num.length()-1); 链表.set(2, num);resultShow.setText(num);}else{链表.removeLast();resultShow.setText("0");}}}else if(e.getSource()==正负号按钮){if(链表.size()==1){String number1=(String)链表.getFirst(); try{double d=Double.parseDouble(number1); d=-1*d;String str=String.valueOf(d);链表.set(0, str);resultShow.setText(str);}catch(Exception ee){}}else if(链表.size()==3){String number2=(String)链表.getLast();try{double d=Double.parseDouble(number2); d=-1*d;String str=String.valueOf(d);链表.set(2, str);resultShow.setText(str);}catch(Exception ee){}}}else if(e.getSource()==求倒数按钮){if(链表.size()==1||链表.size()==2){ String number1=(String)链表.getFirst(); try{double d=Double.parseDouble(number1); d=1.0/d;String str=String.valueOf(d);链表.set(0, str);resultShow.setText(str);}catch(Exception ee){}}else if(链表.size()==3){String number2=(String)链表.getLast(); try{double d=Double.parseDouble(number2); d=1.0/d;String str=String.valueOf(d);链表.set(0, str);resultShow.setText(str);}catch(Exception ee){}}}else if(e.getSource()==清零按钮){是否按下等号=false;resultShow.setText("0");链表.clear();}}public static void main(String[] args) { // TODO Auto-generated method stubnew Cacultor();}}。
用java编写一个简易的计算器代码
import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;/使用java 语言开发一个简易计算器/public class TestJsq extends JFrame implements ActionListener, KeyListener {private JTextField jtf;private JButton jb_bk, jb_ce, jb_c;private String xs = "";private double sum = 0;private int fh;public static void main(String[] args) {new TestJsq().creatCUI();}public void creatCUI() {JFrame jf = new JFrame();jf.setTitle("计算器");jtf = new JTextField("0.");jtf.setHorizontalAlignment(JTextField.RIGHT);jf.add(jtf, BorderLayout.NORTH);JPanel jp_main = new JPanel(new BorderLayout());jf.add(jp_main);JPanel jp1 = new JPanel(new GridLayout(1, 3, 1, 1));jb_bk = new JButton("Backspace");jb_bk.setForeground(Color.RED);jb_bk.addActionListener(this);jb_ce = new JButton("CE");jb_ce.setForeground(Color.RED);jb_ce.addActionListener(this);jb_c = new JButton("C");jb_c.setForeground(Color.RED);jb_c.addActionListener(this);jp1.add(jb_bk);jp1.add(jb_ce);jp1.add(jb_c);jp_main.add(jp1, BorderLayout.NORTH);JPanel jp2 = new JPanel(new GridLayout(4, 5, 1, 1));String str[] = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "", "%","1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };for (int i = 0; i < 20; i++) {JButton jb = new JButton(str[i]);jb.addActionListener(this);jb.setForeground(Color.blue);if (i == 3 || i == 8 || i == 13 || i == 18 || i == 19) { jb.setForeground(Color.RED);}jp2.add(jb);}jp_main.add(jp2, BorderLayout.CENTER);jf.setResizable(false);jf.setBounds(50, 50, 350, 350);jf.setVisible(true);}Overridepublic void actionPerformed(ActionEvent e) {String s = e.getActionCommand();if (s.equals("CE") || s.equals("C")) {xs = "";jtf.setText("0.");} else if (s.equals("Backspace")) {String str = xs.substring(0, xs.length() - 1);xs = str;jtf.setText(xs);} else if (s.equals("7") || s.equals("8") || s.equals("9") || s.equals("4") || s.equals("5") || s.equals("6")|| s.equals("1") || s.equals("2") || s.equals("3")|| s.equals("0") || s.equals(".")) {xs = xs + s;jtf.setText(xs);} else if (s.equals("+/-")) {double x = Double.parseDouble(xs);xs="" + (-x);jtf.setText(xs);} else if (s.equals("/")) {fh = 4;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("")) {fh = 3;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("-")) {fh = 2;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("+")) {fh = 1;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("sqrt")) {double x = Double.parseDouble(xs);double x1 = Math.sqrt(x);xs = x1 + "";jtf.setText(xs);} else if (s.equals("%")) {double x = Double.parseDouble(xs);x=0.01 xx;xs=x+"";jtf.setText(xs);} else if (s.equals("1/x")) {if (xs == "0") {jtf.setText("除数不能为0");} else {double x = Double.parseDouble(xs);double x1 = 1 / x;xs = x1 + "";jtf.setText(String.valueOf(xs));}} else if (s.equals("=")) {if (fh = 0) {switch (fh) {case 1:int point1 = xs.indexOf(".");if (point1 = -1) {String s1 = xs.substring(0, point1);String z1 = xs.substring(point1 + 1, xs.length());int z1_num = z1.length();xs = "";double ss1 = Integer.decode(s1)+ (double) Integer.decode(z1) / (10 z1_num);sum = sum + ss1;} else {sum = sum + Integer.decode(xs);xs = "";}fh = 0;break;case 2:int point2 = xs.indexOf(".");if (point2 = -1) {String s2 = xs.substring(0, point2);String z2 = xs.substring(point2 + 1, xs.length());int z2_num = z2.length();xs = "";double ss2 = Integer.decode(s2)+ (double) Integer.decode(z2) / (10 z2_num);sum = sum - ss2;} else {sum = sum - Integer.decode(xs);xs = "";}fh = 0;break;case 3:int point3 = xs.indexOf(".");if (point3 = -1) {String s3 = xs.substring(0, point3);String z3 = xs.substring(point3 + 1, xs.length());int z1_num = z3.length();xs = "";double s4 = Integer.decode(s3)+ (double) Integer.decode(z3) / (10 z1_num);sum = sum s4;} else {sum = sum Integer.decode(xs);xs = "";}fh = 0;break;case 4:int point4 = xs.indexOf(".");if (point4 = -1) {String s4 = xs.substring(0, point4);String z4 = xs.substring(point4 + 1, xs.length());int z4_num = z4.length();xs = "";double s5 = Integer.decode(s4)+ (double) Integer.decode(z4) / (10 z4_num);sum = sum / s5;} else {sum = sum / Integer.decode(xs);xs = "";}fh = 0;break;default:break;}xs = String.valueOf(sum);jtf.setText(xs);fh = 0;} else {jtf.setText(null);}}}Overridepublic void keyPressed(KeyEvent e) {// TODO Auto-generated method stub}Overridepublic void keyReleased(KeyEvent e) { // TODO Auto-generated method stub }Overridepublic void keyTyped(KeyEvent e) { // TODO Auto-generated method stub }}。
JAVA实验汇总
JAVA实验汇总1.实验名称:计算器程序开发实验目标:编写一个简单的计算器程序,能够实现基本的四则运算。
实验步骤:(1) 创建一个名为Calculator的类。
(2) 在Calculator类中定义四个方法,分别用于实现加法、减法、乘法和除法运算。
(3) 使用Scanner类的对象从用户输入中获取两个操作数和一个操作符。
(4)根据输入的操作符来调用相应的方法进行运算,并输出结果。
(5)运行程序,测试各种运算。
2.实验名称:学生信息管理系统开发实验目标:编写一个学生信息管理系统,能够实现学生信息的录入、查询、修改和删除等功能。
实验步骤:(1) 创建一个名为Student的类,该类包含学生的学号、姓名和成绩等属性。
(2) 创建一个名为StudentSystem的类,该类包含学生信息的管理功能。
(3) 在StudentSystem类中使用ArrayList集合存储学生信息。
(4) 实现录入学生信息的功能,包括学号、姓名和成绩的输入,并将学生信息添加到ArrayList集合中。
(5)实现查询学生信息的功能,根据学号或姓名进行查询,并输出找到的学生信息。
(6) 实现修改学生信息的功能,根据学号或姓名进行查询,然后允许用户修改学生的姓名和成绩,并更新ArrayList中的学生信息。
(7) 实现删除学生信息的功能,根据学号或姓名进行查询,然后从ArrayList中删除学生信息。
(8)运行程序,测试各种功能。
3.实验名称:图书管理系统开发实验目标:编写一个图书管理系统,能够实现图书的录入、借出、归还和查询等功能。
实验步骤:(1) 创建一个名为Book的类,该类包含图书的编号、书名和借出状态等属性。
(2) 创建一个名为Library的类,该类包含图书信息的管理功能。
(3) 在Library类中使用HashMap集合存储图书信息,键为图书的编号,值为Book类的对象。
(4) 实现录入图书的功能,包括图书编号、书名和借出状态的输入,并将图书信息添加到HashMap集合中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
@Override
public void windowClosing(WindowEvent e)
{
System.exit(-1);
}
}
);
}
}
public class Test5
{
public static void main(String[] args)
switch(str)
{
case "0":
case "1":
case "2":
case "3":
case "4":;
case "5":
case "6":
case "7":
case "8":
case "9":
if (mf.data.size()==2)
public MyActionClick1(MyFrameCal1 mf)
{
this.mf = mf;
}
@Override
public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
{
new MyFrameCal1().lauch();
}
}
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import javax.swing.JOptionPane;
class MyActionClick1 implements ActionListener
{
MyFrameCal1 mf ;
p.add(bn);
}
p.setLayout(new GridLayout(4,4));
this.setBounds(200,200,200,200);
this.setVisible(true);
this.addWindowListener(
new WindowAdapter()
mf.data.clear();
mf.clickNum=0;
return ;
}
if(mf.clickNum==2)
{
mf.tf.setText(String.valueOf(mf.data.get(0)-mf.data.get(1)));
{
mf.tf.setText("");
mf.clickNum=2;
return;
}
JOptionPane.showMessageDialog(new Frame(),"此时不能输入-");
break;
case "12":
if(mf.data.size()==1&&mf.clickNum==0)
{
mf.tf.setText("");
return;
}
mf.data.remove(mf.data.size()-1);
mf.tf.setText("");
break;
default:
break;
}
}
}
class MyFrameCal1 extends Frame
{
mf.tf.setText("");
mf.clickNum=4;
return;
}
JOptionPane.showMessageDialog(new Frame(),"此时不能输入/");
break;
case "14":
if(mf.data.size()!=2&&mf.clickNum==0)
{
return;
}
if(mf.data.get(1)==0&&mf.clickNum==4)
{
mf.tf.setText("");
JOptionPane.showMessageDialog(new Frame(),"除数不能为零,请重新输入");
{
return;
}
if(mf.data.size()==1&&mf.clickNum==0)
{
mf.datห้องสมุดไป่ตู้.set(0, Integer.parseInt(str));
return;
}
mf.data.add(Integer.parseInt(str));
{
this.add(tf,BorderLayout.NORTH);
this.add(p,BorderLayout.CENTER);
this.pack();
String[] strFuHao = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/","=","清零"};
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
int s = Integer.parseInt(str);
mf.tf.setText(String.valueOf(s));
break;
case "10":
if(mf.data.size()==1&&mf.clickNum==0)
{
mf.tf.setText("");
{
mf.tf.setText("");
mf.clickNum=3;
return;
}
JOptionPane.showMessageDialog(new Frame(),"此时不能输入*");
break;
case "13":
if(mf.data.size()==1&&mf.clickNum==0)
mf.data.clear();
mf.clickNum=0;
return ;
}
if(mf.clickNum==4)
{
mf.tf.setText(String.valueOf(mf.data.get(0)/mf.data.get(1)));
mf.data.clear();
mf.clickNum=0;
return;
}
if(mf.data.size()==2&&mf.clickNum!=0)
{
if(mf.clickNum==1)
{
mf.tf.setText(String.valueOf(mf.data.get(0)+mf.data.get(1)));
{
ArrayList<Integer> data = new ArrayList<Integer>();
int clickNum = 0;
TextField tf = new TextField(10);
Panel p = new Panel();
public void lauch()
mf.clickNum=1;
return;
}
JOptionPane.showMessageDialog(new Frame(),"此时不能输入+");
break;
case "11":
if(mf.data.size()==1&&mf.clickNum==0)
mf.data.clear();
mf.clickNum=0;
return ;
}
if(mf.clickNum==3)
{
mf.tf.setText(String.valueOf(mf.data.get(0)*mf.data.get(1)));
for(int i=0;i<=15;i++)
{
Button bn = new Button(strFuHao[i]);
bn.setActionCommand(String.valueOf(i));
bn.addActionListener(new MyActionClick1(this));
/*
java实现简单计算器
*/
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.FontFormatException;
import java.awt.Frame;