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)
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");
}
}
}

