当前位置: 首页 > news >正文

[蓝桥杯真题]小计算器

藍橋杯真題2:小計算器

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();//接收n行指令long num = 0; //拿来进行加减乘除的数先初始化0int scale = 10;//表示要转换的进制,初始化为10String oper = null;//输入的指令 初始化为nullboolean flag = false;for (int i = 0; i < n; i++) {String order = scan.next();//接收每一行指令//操作switch (order) {case "CLEAR"://重置num = 0;//刚开始重置的第一行 num都是初始值0flag = false;break;case "NUM"://NUM就是你输入的数字if(flag) {//调用compute()//返回一个 Long 对象,该对象保存从键盘接收的 scan.next() 中提取的值//当使用由给出的基数进行解析时 第二个参数 scale //scan.next()是要解析的字符串,scale用于解释 scan.next() 的基数num = compute(oper, num,Long.valueOf(scan.next(),scale));}else {num = Long.valueOf(scan.next(),scale);}break;case "ADD":case "SUB":case "MUL":case "DIV":case "MOD":oper = order;flag = true;break;case "CHANGE"://转换//Integer.parseInt是将字符串转成整形,Integer.toString是将整形转为字符串scale = Integer.parseInt(scan.next());break;case "EQUAL"://输出//Long.toString()将 long 类型的数字转换成指定进制的字符串的方法//参数 num 表示需要转换的 long 类型数字,参数 scale表示转换的进制//如果  scale 不是合法的进制数,将抛出 IllegalArgumentException 异常//toUpperCase() 方法将字符串小写字符转换为大写System.out.println(Long.toString(num,scale).toUpperCase());break;}}scan.close();    }//计算public static long compute(String oper,long num1, long num2) {long res = 0;//每一次经过计算的结果switch (oper) {case "ADD":res = num1 + num2;break;case "SUB":res = num1 - num2;break;case "MUL":res = num1 * num2;break;case "DIV":res = num1 / num2;break;case "MOD":res = num1 % num2;break;default:break;}return res;}
}

Long. tostring()

Java toUpperCase()方法

Long.valueOf()方法

相关文章:

  • 使用dockerfile能力构建制品并打包容器
  • WPF 上位机 Modbus 入门必备的信息 C# 开发对接
  • Unity与Android交互通信系列(6)
  • 自动化数据驱动?最全接口自动化测试yaml数据驱动实战
  • 搜索与图论:染色法判别二分图
  • LeetCode 58. 最后一个单词的长度
  • Debian/Ubuntu linux安装软件
  • 算法体系-22 第二十二节:暴力递归到动态规划(四)
  • Python对象复制竟然有这么多种方式,赶紧学起来!
  • 示例:WPF中绑定枚举到ComboBox的方式
  • 多标签识别:JoyTag模型的图像标注革命【开源】
  • rabbitmq单机安装及性能测试
  • NAND闪存市场彻底复苏
  • hive split 特殊用法
  • 如何在WordPress中上传多种安装包文件
  • 【译】JS基础算法脚本:字符串结尾
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • crontab执行失败的多种原因
  • gitlab-ci配置详解(一)
  • JavaScript 基本功--面试宝典
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • PHP面试之三:MySQL数据库
  • spring boot 整合mybatis 无法输出sql的问题
  • Vue小说阅读器(仿追书神器)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 从tcpdump抓包看TCP/IP协议
  • 技术发展面试
  • 前嗅ForeSpider中数据浏览界面介绍
  • 树莓派 - 使用须知
  • 算法系列——算法入门之递归分而治之思想的实现
  • 携程小程序初体验
  • 一个完整Java Web项目背后的密码
  • 7行Python代码的人脸识别
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​业务双活的数据切换思路设计(下)
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #define、const、typedef的差别
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (2020)Java后端开发----(面试题和笔试题)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (二十三)Flask之高频面试点
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 中创建支持集合初始化器的类型
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .Net--CLS,CTS,CLI,BCL,FCL
  • .net操作Excel出错解决