1261: 单位转换(Java)
WUSTOJ 1261: 单位转换
参考资料
Description
BobLee最近在复习考研,在复习计算机组成原理的时候,遇到了一个问题。就是在计算机存储里面的单位转换。我们都知道1MB=1024KB,1KB=1024B,1B=8bit,他在做题的时候经常会遇到格式各样的,比如多少MB,KB,B什么的,但是都要转换为bit,题目做的太多他都迷茫了,现在需要你通过程序来帮他解决这个问题。
Input
输入为多行未化简的数据,如xMB,xKB,xB,xbit,(1<=x<=50)
Output
输出为换算过后的数据,ybit
Sample Input
1MB
1KB
1B
1bit
Sample Output
8388608bit
8192bit
8bit
1bit
代码
/**
* 用时:263ms
* @author PengHao
* @version 1.0
* @date 2019年4月12日 下午6:13:18
*/
import java.util.Scanner;
public class Main {
private Scanner sc;
private int x;
private String unit; // 读取输入
public Main() {
sc = new Scanner(System.in);
while(sc.hasNext()) {
unit = sc.next(); // 读取输入
// 将非数据字段清空后,剩下的数字字段转成int型
x = Integer.parseInt(unit.replaceAll("\\D+", ""));
unit = unit.replaceAll("\\d+", ""); // 单位
switch(unit) {
case "MB":
x *= 8388608;
break;
case "KB":
x *= 8192;
break;
case "B":
x *= 8;
break;
default:
}
System.out.println(x + "bit");
}
sc.close();
}
public static void main(String[] args) {
new Main();
}
}
代码扩展(读取输入)
Java中不能用如下方法读取数字和字符串(输入格式同Sample Input):
/**
* @author wowpH
*/
import java.util.Scanner;
public class Main {
private Scanner sc;
private int x;
private String unit;
public Main() {
sc = new Scanner(System.in);
x = sc.nextInt();
unit = sc.next();
sc.close();
}
public static void main(String[] args) {
new Main();
}
}
因为中间没有空格,是无法分辨的。这里用的方法是先读取为字符串,再转成数字和单位。例如本题:输入1MB
,下面代码的第17行将会得到"1"
,而第18行将会得到"MB"
。
/**
* @author wowpH
*/
import java.util.Scanner;
public class Main {
private Scanner sc;
private int x;
private String all;
private String number;
private String unit;
public Main() {
sc = new Scanner(System.in);
all = sc.next();
number = all.replaceAll("\\D+", ""); // 将非数字字符删除,剩下的都是数字字符(0-9)
unit = all.replaceAll("\\d+", ""); // 将数字字符删除,剩下的都是非数字字符
x = Integer.parseInt(number); // 转成int型
sc.close();
}
public static void main(String[] args) {
new Main();
}
}
当然还有不少其他方法,这里不一一讨论,在此选取最简单的粗略介绍。
1261: 单位转换(Java)的更多相关文章
- Java实现蓝桥杯单位转换
单位转换 [问题描述] BobLee最近在复习考研,在复习计算机组成原理的时候,遇到了一个问题.就是在计算机存储里面的单位转换. 我们都知道1MB=1024KB,1KB=1024B,1B=8bit,他 ...
- spring-boot前端参数单位转换
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import ja ...
- 单位转换类UnitUtil2
package com.jlb.scan.util; import java.math.BigDecimal; import java.text.DecimalFormat; import com.j ...
- Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换
Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换 { "@type":"java.lang.Runti ...
- Android 尺寸单位转换和屏幕适配相关
Android 尺寸单位转换和屏幕适配相关 各种尺寸单位的意义 dp: Density-independent Pixels 一个抽象的单元,基于屏幕的物理密度. (dp和dip的意义相同,所以不用区 ...
- System.currentTimeMillis()计算方式与时间的单位转换
目录[-] 一.时间的单位转换 二.System.currentTimeMillis()计算方式 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 ...
- paip.c++ 转换 java 解决方案
paip.c++ 转换 java 解决方案 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/a ...
- 武汉科技大学ACM:1005: 单位转换
Problem Description BobLee最近在复习考研,在复习计算 机组成原理的时候,遇到了一个问题.就是在计算机存储里面的单位转换.我们都知道1MB=1024KB,1KB=1024B,1 ...
- 【转】Android中dip(dp)与px之间单位转换
Android中dip(dp)与px之间单位转换 dp这个单位可能对web开发的人比较陌生,因为一般都是使用px(像素)但是,现在在开始android应用和游戏后,基本上都转换成用dp作用为单位了,因 ...
随机推荐
- ArcGIS中国工具3.2新功能
ArcGIS中国工具3.2新功能 1. 增加属性格式刷, 2. 编辑自动保存,每5分钟保存一次
- Java 中清空map
本文链接:https://blog.csdn.net/TsuiXh/article/details/87879004在开发中在使用Map时,如果需要将Map作为临时的数据存储和处理,可以不用每次都去新 ...
- VS code写stm32
第一次在知乎写博客,献丑了. VS code写stm32 今天实在觉得KEIL太丑,突然想到VS code也可以实现STM32代码的编写,遂决定写一个文章,把VScode变成一个STM32的IDE ...
- 在 Java 应用程序中加一些 Groovy 进来
如果您一直在阅读这个系列,那么您应该已经看到有各种各样使用 Groovy 的有趣方式,Groovy 的主要优势之一就是它的生产力.Groovy 代码通常要比 Java 代码更容易编写,而且编写起来也更 ...
- CV3——学习笔记-实战项目(上):如何搭建和训练一个深度学习网络
http://www.mooc.ai/course/353/learn?lessonid=2289&groupId=0#lesson/2289 1.AlexNet, VGGNet, Googl ...
- PHP根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围
/** * 根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围 * @param float $lng 经度 * @param float $lat 纬度 * @param floa ...
- 代理IP爬取和验证(快代理&西刺代理)
前言 仅仅伪装网页agent是不够的,你还需要一点新东西 今天主要讲解两个比较知名的国内免费IP代理网站:西刺代理&快代理,我们主要的目标是爬取其免费的高匿代理,这些IP有两大特点:免费,不稳 ...
- python判断命令执行成功
if os.system('lss') !=0: print 'Without the command'
- c#webservice的简单示例
webservice.就概念上来说,可能比较复杂,不过我们可以有个宏观的了解:webservice就是个对外的接口,里面有 函数可供外部客户调用(注意:里面同样有客户不可调用的函数).假若我们是服务端 ...
- 【Leetcode_easy】704. Binary Search
problem 704. Binary Search solution: class Solution { public: int search(vector<int>& nums ...