java 杭电1237简单计算器
简单计算器
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 18610 Accepted Submission(s): 6562
package com.it.method;import java.util.Scanner;
import java.util.Stack;
/*栈的应用,* 思路为,如果只是一次运算,类似于加或者减,那么 可以将数值直接进入栈,不需要其他操作* 如果为多次运算,比如说乘或者除,那么先被乘数(m*n中的m)入栈,检测下一个字符,如果为乘号* 那么先将栈顶元素取出,记做为a,然后消除栈顶元素,然后再读取乘数(m*n中的n),将两者的和当做结果进入栈* 除法类似*/
//public class Main {//提交时 用这个
public class Test02
{public static void main(String args[]){Scanner cin = new Scanner(System.in);while(cin.hasNext()){String str = cin.nextLine();String str1[];if(str.compareTo("0")==0)break;str1 = str.split(" ");Stack<Double> s = new Stack<Double>();//构建一个栈double m = Double.parseDouble(str1[0]);s.push(m);for(int i=1;i<str1.length;i++){if(i%2==1){if(str1[i].compareTo("+")==0){double help = Double.parseDouble(str1[i+1]);s.push(help);}if(str1[i].compareTo("-")==0){double help = Double.parseDouble(str1[i+1]);s.push(-help);}if(str1[i].compareTo("*")==0){double help = Double.parseDouble(str1[i+1]);double ans = s.peek();//取出栈顶元素s.pop();//消栈ans*=help;s.push(ans);}if(str1[i].compareTo("/")==0){double help = Double.parseDouble(str1[i+1]);double ans = s.peek();s.pop();ans/=help;s.push(ans);}}}double ans = 0d;while(!s.isEmpty()){ans+=s.peek();s.pop();}System.out.println(String.format("%.2f", ans));}cin.close();}}
java 杭电1237简单计算器相关推荐
- HDU - 1237简单计算器(输出问题)
简单计算器 HDU - 1237 题目 题解 代码 题目 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行 ...
- 计算器java鼠标按钮事件_[java]ItemEvent事件:简单计算器
代码: Example9_8.java public class Example9_8 { public static void main(String args[]){ WindowOperatio ...
- HDU 1237 简单计算器
简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- java方法重载和简单计算器
Java方法 **方法重载:**一个类中,有相同的函数名称,但形参不同的函数 重载规则: 方法名称必须相同 参数列表必须不同(个数不同,类型不同,参数排列顺序不同等) 返回类型可以相同可以不同 pub ...
- java方法练习之简单计算器
关于导包的描述正确的是 C A. 一个源文件中只能有一条导包语句 B. 导包语句必须写在源文件的第一行有效语句 C. 导包语句的关键字为 import D. 位于java.util 包中的类无需导包, ...
- 『杭电1237』简单计算器
Problem Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值. Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符 ...
- java实现计算器框架_[Java小程序] 实现简单计算器
这学期没事学了一点点Java,想写个程序练手,因为只学了一点点,所以暂时只能先写个实现简单功能的计算器练练.感觉写完后不是很好,如果路过的哪位高手给点建议,小弟万分感激啊. 由于期末来了,没太多时间, ...
- Java 手写一个简单计算器(1)
用java的awt和swing实现了界面, 结构比较简单,用GridLayout布局实现 文本框+3行按钮+3行按钮: 按钮用字符串数组和for循环 后两个用JPanel存放 然后加到框架中即可 由于 ...
- java算软件工程_Java简单计算器的实现
Java简易计算器的实现,供大家参考,具体内容如下 操作流程 用户通过输入要被运算的数字和运算符,进行数字的运算,例如用户输入2+2则会输出4. 加法运算截图 减法运算截图 乘法运算截图 除法运算截图 ...
最新文章
- 2、安装Lync Server 2013
- 浅谈SD-WAN未来的发展方向
- jvm性能调优实战 -56没有WHERE条件的SQL语句引发的OOM MAT 排查步骤
- zabbix学习笔记(4)
- 嵌入式linux设计师,make在linux——《嵌入式linux设计与应用》
- 7-7 六度空间(30 分)
- Base64编码及其作用
- gtest 学习之五 测试用例中定义类
- NLP 事件抽取综述(中)—— 模型篇
- jquery easyui里datagrid用法记录
- IntelliJ IDEA 2020.1 首个稳定版重磅发布!
- java如何获取wsdl文件,如何使用Java获取WSDL文件中的复杂类型?
- 红巨星粒子插件:Red Giant Trapcode Suite 15 for Mac
- Basic4IOS B4I开发原生iOS,Visual Studio中编程
- 图像中的Exif信息及其处理
- 主板音频接口连接说明
- 计算机类软件工程与测绘类遥感专业的薪水,2018遥感科学与技术专业就业前景和就业方向分析...
- 模拟狗狗的“魔鬼步伐”,比更真还更真
- 前端程序员偷懒工具:emmet语法
- wstmart电子商务系统怎么样