- 浏览: 428972 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
package com.xianfengshangtai.interview; /** * 本程序是一个简单的计算器模拟程序。对任给的正确四则元算表达式,程序计算结果值并输出。 * 表达式中操作数为无符号整数,运行符为+,-,*,/,圆括号按常规配对,表达式以字符串'='结束 * */ public class Problem18_21 { public static void main(String[] args) { int value ; Calculator calcula = new Calculator(); System.out.println("Please input an expression : "); calcula.getChar(); while(calcula.getCurChar()!='='){ value = calcula.calc(); String x = "The result is : "+value; System.out.println(x); System.out.println("Please input an expression :"); calcula.getChar(); } } }
package com.xianfengshangtai.interview; public class Calculator { private static char m_aOpChrSet [] = {'+','-','*','/','(',')','=','\0'}; private static char m_aAllChrSet [] = {'+','-','*','/','(',')','=','0', '1','2','3','4','5','6','7','8','9','0','\0'}; private int m_nNum ;//用户保存输入的数字 private int m_nCurChr;//用户保存输入的单个字符 public int getCurChar(){ return m_nCurChr; } /** * * 得到一个合法的输入,包含在m_aAllChrSet中,但不是'\0'的字符 */ public int getChar(){ int i; while(true){ try{ m_nCurChr = System.in.read(); if(m_nCurChr==13||m_nCurChr==10){//如果在键盘上敲入的换行或者回车就重新输入 continue; } }catch (Exception e) { System.out.println("IO error!"); } if(m_nCurChr==-1){ return -1; } //如果输入的字符不在m_aAllChrSet就重新输入,直到i<m_aAllChrSet.length成立 for(i=0;m_aAllChrSet[i]!='\0'&&m_nCurChr!=m_aAllChrSet[i];i++){ ; } if(i<m_aAllChrSet.length){ break; } } return m_nCurChr; } public int calc(){ int x1; int x2; int x3; int op1; int op2; int i = getId(); /** * x1为操作数 */ if(i==4){ x1 = calc(); }else{ x1 = m_nNum; } op1 = getId(); /** * op1为反括号或者等号 */ if(op1>=5){ return x1; } i = getId(); /** * x2为操作数 */ if(i==4){ x2 = calc(); }else{ x2 = m_nNum; } op2 = getId(); /** * 反括号时要返回 */ while(op2>=0&&op2<5){ //while(_op2>=0&&op2<5______P18____) i = getId(); if(i==4){ x3 = calc(); }else{ x3 = m_nNum; } /** * 如果op1为+或者-并且op2为*或者/ */ if((op1/2==0)&&(op2/2==1)){ x2 = operate(op2,x2,x3); }else{ x1 = operate(op1, x1, x2); //__________P19_______ x2 = x3; op1 = op2; //__________P20_______ } op2 = getId(); } return operate(op1, x1, x2); //return _______P21__________ } private int getId(){ int i; /** * 获取输入的操作数 */ if(m_nCurChr>='0'&&m_nCurChr<='9'){ for(m_nNum=0;m_nCurChr>='0'&&m_nCurChr<='9';getChar()){ m_nNum = m_nNum*10+(m_nCurChr-'0'); //m_nNum = _________________________ } return -1; }else{ /** * 获取输入的操作符 */ for(i = 0;m_aOpChrSet[i]!='\0';i++){ if(m_aOpChrSet[i]==m_nCurChr){ break; } } /** * 如果没有输入'=',就一直输入 */ if(i<=5){ getChar(); } return i; } } private int operate(int op_id,int num1,int num2){ int ret = 0; switch(op_id){ case 0: ret = num1 + num2; break; case 1: ret = num1 - num2; break; case 2: ret = num1 * num2; break; case 3: ret = num1 / num2; break; default : break; } return ret; } }
运算结果:
Please input an expression : 1+2*3+(4*6-5)*6-9= The result is : 112 Please input an expression :
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 753个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1009spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 775jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 937一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 844业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1135一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8527本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1012本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 912spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 902面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 742在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 677春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 977google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 918代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 688线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 851使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3765代码如下: package com.chapterO ...
相关推荐
### 计算器模拟程序Java知识点解析 #### 一、项目概述 本项目是一个基于Java的简单计算器模拟程序。该程序旨在通过图形用户界面(GUI)实现整数的基本四则运算(加、减、乘、除)。根据描述,程序应该能够提供一个...
Java 计算器模拟程序 在本次大作业中,我们设计并实现了一个 Java 计算器模拟程序,旨在模拟 Windows2000/xp 系统中的“计算器”工具。该程序不仅具有普通的计算功能,还具有显示计算过程和保存计算过程的功能。...
卡西欧工程计算器模拟程序是针对专业学习和工程计算需求设计的软件工具,它们能够模拟真实的卡西欧计算器,如fx-cg20、fx-9860GII、fx-9750GII以及classpad330等型号。这些模拟器提供了与实体计算器相同的功能和界面...
【Java计算器课程设计---计算器模拟程序】 在Java编程学习中,进行计算器模拟程序的设计是一项常见的课程设计任务,它旨在帮助学生深入理解面向对象编程的概念、控制流、数据处理以及用户界面设计。本报告将详细...
卡西欧计算器模拟程序是为方便用户在个人电脑上模拟使用特定型号的卡西欧计算器而设计的应用软件。这些模拟器允许用户在没有物理计算器的情况下进行计算操作,特别是在需要复杂数学计算、图形绘制或者编程功能时,...
对任意给定的正确四则运算表达式,程序计算其结果值并输出。程序无需查错功能,假定所输入的都是正确的四则运算表达式,并且表达式中运算分量均为无正负号整数,运算符为 +、-、*、/,表达式以字符 "=" 结束。
### 使用Java编写的计算器程序(模拟Windows计算器) #### 一、项目概述 本文档介绍了一个使用Java语言编写的简易计算器程序,该程序旨在模仿Windows系统的内置计算器功能。通过本项目,用户可以执行基本的数学...
程序无需查错功能,所输入的都是正确的四则运算表达式,并且表达式中运算分量均为无正负号整数,运算符为+、-、*、/,表达式以字符"="结束。 程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。
java做的计算器程序,模拟微软的计算器部分功能。
在这个Java实战项目中,我们将构建一个简单的计算器应用程序,利用Java Swing库来创建用户界面,并实现基本的数学运算功能。以下是一些关键知识点: 1. **Java Swing库**:Java Swing是Java Foundation Classes ...
Java计算器课程设计是一个常见的计算机科学课程项目,旨在帮助学生深入理解和掌握Java编程语言的基本概念,如类、对象、继承、接口、异常处理等,并通过实际操作来锻炼他们的编程技巧。在这个项目中,学生们通常需要...
用Java编写的仿windows自带计算器程序的源代码,可用任何文本编辑器打开。 从界面到功能80%与windows计算器程序一致,适合GUI编程初学者学习。 技术特点:OOP思想,MVC,内部类。
在虚拟机上GUI设计的小计算器界面,有简单的计算功能(仅能算10以内的加减乘除哦,>10也会计算不出,因为用的ASCll输出),没有仔细写功能,如果有时间会补上
这个项目旨在设计一个计算器程序,它不仅支持基本的加、减、乘、除运算,还增加了高级功能如开方、清除和求倒数。下面将详细阐述这些知识点。 首先,我们需要理解GUI的基础。GUI是一种通过图标、窗口和控件等可视化...
本项目名为“c51计算器模拟_isis.rar”,它包含了一个使用C51语言编写的计算器模拟程序以及相关的硬件模拟电路图。这个项目特别之处在于它依赖于ISIS Professional软件,这是一个广泛使用的电路设计与仿真工具,可以...
在本Java课程设计项目中,我们关注的主题是创建一个计算器应用程序。这个项目旨在帮助学习者深入理解Java编程语言,特别是涉及到用户界面设计、事件处理、控制流以及算法实现等核心概念。通过构建一个计算器,我们...
这个计算器模拟了Windows操作系统中常见的计算器界面和交互逻辑,旨在提供用户友好的计算体验。 首先,我们需要了解C#的基础知识,它是Microsoft开发的一种面向对象的编程语言,广泛用于构建桌面应用、Web应用以及...
模拟计算器的应用程序。 数据结构的课程设计 。