习题2.1 简单计算器(20 分)浙大版《数据结构(第2版)》题目集
Posted 给杰瑞一块奶酪~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了习题2.1 简单计算器(20 分)浙大版《数据结构(第2版)》题目集相关的知识,希望对你有一定的参考价值。
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输出格式:
在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。
输入样例:
1+2*10-10/2=
输出样例:
10
代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = 0, b = 0; boolean flag = true; char ch = 0; String s; s = sc.nextLine(); for(int i = 0;i < s.length();i ++) { if(s.charAt(i) >= ‘0‘ && s.charAt(i) <= ‘9‘) { b = s.charAt(i) - ‘0‘; while(s.charAt(i+1) >= ‘0‘ && s.charAt(i+1) <= ‘9‘) { i++; b *= 10; b += s.charAt(i) - ‘0‘; } if(ch == 0)a = b; else { if(ch == ‘+‘)a += b; else if(ch == ‘-‘)a -= b; else if(ch == ‘*‘)a *= b; else if(ch == ‘/‘) { if(b == 0){flag = false; break;} else a /= b; } else {flag = false;break;} } } else { if(s.charAt(i) == ‘=‘)break; ch = s.charAt(i); } } if(flag)System.out.print(a); else System.out.print("ERROR"); } }
以上是关于习题2.1 简单计算器(20 分)浙大版《数据结构(第2版)》题目集的主要内容,如果未能解决你的问题,请参考以下文章
习题3.12 另类循环队列(20 分)浙大版《数据结构(第2版)》题目集
习题2.6 递归求简单交错幂级数的部分和(15 分)浙大版《数据结构(第2版)》题目集
习题3.8 符号配对(20 分) 浙大版《数据结构(第2版)》题目集
习题2.3 数列求和-加强版(20 分)浙大版《数据结构(第2版)》题目集