我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。Java洛谷传智杯
题目描述:
我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。
输入格式:输入一个字符串,由一个 0 到 1023 之间的整数,一个单位名称(大写字母),一个等于号和问号,以及第二个单位名称。
单位只有可能是 GB,MB,KB,B 之间的一个。
输出格式:输出一个数字,精确到小数点后 6 位。
输入输出样例:
输入 #1
128MB=?GB
输出 #1
0.125000
输入 #2
64MB=?KB
输出 #2
65536.000000
Java代码:
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String s = scanner.next();int[] curNum = new int[4];int count = 0, Num = 0;double toNum = 0;char curChar = 0, toChar = 0;for (int i = 0; i < s.length(); i++) {if (s.charAt(i) == '?'){toChar = s.charAt(i + 1);break;}}for (int i = 0; i < s.length(); i++) {if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z'){curChar = s.charAt(i);break;}curNum[i] = s.charAt(i) - '0';count++;}for (int i = 0; ; i++) {Num += curNum[i] * Math.pow(10,count-1);count--;if (count == 0) break;}if (curChar == 'G'){if (toChar == 'M'){toNum = Num * Math.pow(2,10);}else if (toChar == 'K'){toNum = Num * Math.pow(2,20);}else if (toChar == 'B'){toNum = Num * Math.pow(2,30);}else toNum = Num;}if (curChar == 'M'){if (toChar == 'G'){toNum = Num * Math.pow(2,-10);}else if (toChar == 'K'){toNum = Num * Math.pow(2,10);}else if (toChar == 'B'){toNum = Num * Math.pow(2,20);}else toNum = Num;}if (curChar == 'K'){if (toChar == 'G'){toNum = Num * Math.pow(2,-20);}else if (toChar == 'M'){toNum = Num * Math.pow(2,-10);}else if (toChar == 'B'){toNum = Num * Math.pow(2,10);}else toNum = Num;}if (curChar == 'B'){if (toChar == 'G'){toNum = Num * Math.pow(2,-30);}else if (toChar == 'M'){toNum = Num * Math.pow(2,-20);}else if (toChar == 'K'){toNum = Num * Math.pow(2,-10);}else toNum = Num;}System.out.printf("%.6f",toNum);}
}
我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。Java洛谷传智杯相关推荐
- 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...
介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...
- 第五届“传智杯”全国大学生计算机大赛(练习赛)
前言:这次练习赛对应的洛谷原题分别是B3654.P8547.P8444.P8462.P8827.P5391.有需要的可以去洛谷找原题看题解弄懂自己不会的 官方给的:练习赛满分程序(多语言):云剪贴板 ...
- 第五届“传智杯”全国大学生计算机大赛(练习赛)前四题题解
第五届"传智杯"全国大学生计算机大赛(练习赛) 练习赛题单链接:传智杯练习赛 仅有会做的前四题题解,还是太弱了( ^ M ^ !!) 第一题 链接:复读 思路: 就是哈希表记录下出 ...
- 关于计算机、数据的存储单位(bit, Byte, KB, MB, GB, TB, PB, EB, ZB, BB)
计算机.数据存储的单位 一.数据存储的单位有哪些 二.单位换算 三.为什么计算机储存单位的进率是1024而不是1000? 一.数据存储的单位有哪些 计算机存储单位一般用 bit, Byte, KB ...
- 计算机存储单位转换(KB MB GB TB PB EB ZB)
位(bit):一个数字0或者一个数字1,代表一位. 字节(Byte):每逢8位是一个字节,这是数据存储的最小单位. 1 Byte = 8 bit 1 KB = 1024 Byte 1 MB = ...
- 第五届“传智杯”全国大学生计算机大赛(练习赛)传智杯 #5 练习赛] 前四题Python解答
第一道题: 给定若干个字符串,不定数量,每行一个.有些字符串可能出现了多次. 如果读入一个字符串后,发现这个字符串以前被读入过,则这个字符串被称为前面相同的字符串的复读,这个字符串被称为复读字符串. ...
- 第五届“传智杯”全国大学生计算机大赛(练习赛)传智杯 #5 练习赛] 平等的交易
[传智杯 #5 练习赛] 平等的交易 题目描述 你有 n n n 件道具可以买,其中第 i i i 件的价格为 a i a_i ai. 你有 w w w 元钱.你仅能用钱购买其中的一件商道具.当然, ...
- 答案解析(C语言版本)——第五届“传智杯”全国大学生计算机大赛(练习赛)
目录 A [传智杯 #5 练习赛] 复读 输入输出样例 输入 #1 输出 #1 代码解析如下 B [传智杯 #5 练习赛] 时钟 输入输出样例 输入 #1 输出 #1 输入 #2 输出 #2 输入 # ...
- 学校学计算机是什么,想学计算机该上什么大学?传智专修学院是个好选择
原标题:想学计算机该上什么大学?传智专修学院是个好选择 众所周知,21世纪是知识经济时代,随着知识经济的发展和互联网的壮大,社会对计算机相关的人才需求越来越大,这一行业也越来越炙手可热.然而,年轻人在 ...
最新文章
- python【数据结构与算法】KMP算法模板(我吐了!)
- 吴恩达机器学习作业思路整理
- 外观模式(Facade) - 为系统分层次
- String转BigDecimal,BigDecimal常用操作,以及避免踩坑
- Eclipse异常关闭启动不了的问题
- GDKOI2018发烧记
- java基础第九天_多线程、自动拆装箱
- 毕业设计10-22星期日
- include vector 编译出错VC++
- Atitit 编程范式总结 目录 1.1.1. IP(Imperative Programming)指令式编程	1 1.1.2. SP(Structured Programming)结构化编程	2 1
- Gargamel:信息安全取证工具
- 童诗白先生诞辰100周年纪念会暨“天立-童诗白中国自动化教育奖”启动仪式
- mapgis注释文字文件完整转换成arcgis格式注记shp 2019视频教程
- Minimax 算法中的 Alpha Beta 剪枝
- thinkpad指点杆(trackpoint)在WPS的word文档中失效的解决办法
- React构建的景点门票系统
- MSSQL2005的新功能创建数据库快照
- linux软路由 iptv,软路由实现任意端口看IPTV电视的方法
- 人工智能的创业“风口”
- html4诞生是哪一年,世界第一部电影是哪一年诞生的?
热门文章
- GlassFish 4升级的构建,Gradle和嵌入式应用服务器
- 命令(CMD)终端的清屏(清除/清空)命令/快捷键
- Mac 如何操控远程的 Windows 电脑
- Windows 系统下使用 putty 客户端通过 SSH 远程连接 AWS 服务器
- 数独游戏技巧从入门到精通_如何引导孩子入门九宫格数独?掌握4个技巧口诀,孩子思维提升快...
- php云服务器买什么系统吗,php云服务器买什么系统
- 汇编 cmp_汇编复习
- qchart折现图_Qt开发技术:QCharts(二)QCharts折线图介绍、Demo以及代码详解
- c语言volatile关键字的作用是什么?
- 什么是C语言中的隐式函数声明?