1002.单位转换
Time Limit: 1000 MS Memory Limit: 32768 KB
描述
在计算机存储里面的单位转换。我们都知道1MB=1024KB,1KB=1024B,1B=8bit,
试编程实现单位转换。
输入
输入由多组测试数据组成。首先输入一个整数n,表示测试数据的数目。
接下来的n行,每行表示一个未化简的数据,如xMB,xKB,xB,xbit,(1≤x≤50)
输出
输出为换算过后的数据,ybit
示例输入
4
1MB
1KB
2B
1bit
示例输出
8388608bit
8192bit
16bit
1bit
解题思路
因为输入的要么XXB要么bit,只需要识别清楚这个就好……可以通过对字符串的比对来实现
Ac源码(Java)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int times= sc.nextInt(); sc.nextLine(); String[] counts = new String[times]; for (int i = 0; i < times; i++){ counts[i] = sc.nextLine(); } sc.close(); for (String count: counts){ System.out.print(Integer.parseInt(count.replaceAll("\\D", "")) * ( count.contains("B")? (count.contains("M")?8388608: (count.contains("K")?8192:8)):1)); System.out.println("bit"); } } } |