打开题目发现是一串字符,根据题目提示是二进制,八进制,十进制,十六进制
很快能发现字符的规律,b开头的是二进制,o开头的是八进制,d开头的是十进制,x开头的是16进制,一个一个转换太慢了,就自己写了个脚本,由于自己学的是C语言,自学的Java,所以Java代码不是很好
package script;
import java.util.Scanner;
public class MC {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in) ;
while(true){
String str=sc.nextLine();
String b="",o="",d="",x="";
//System.out.println(str.length());
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)=='b')
{
b="";
while(str.charAt(++i)!=' ')
{
b+=str.charAt(i);
}
int ten = Integer.parseInt(b, 2);
//System.out.println(ten);
System.out.print((char)ten);
}
else if(str.charAt(i)=='o')
{
o="";
while(str.charAt(++i)!=' ')
{
o+=str.charAt(i);
}
int ten = Integer.parseInt(o, 8);
//System.out.println(ten);
System.out.print((char)ten);
}
else if(str.charAt(i)=='d')
{
d="";
while(str.charAt(++i)!=' ')
{
d+=str.charAt(i);
}
int ten = Integer.parseInt(d, 10);
//System.out.println(ten);
System.out.print((char)ten);
}
else if(str.charAt(i)=='x')
{
x="";
while(str.charAt(++i)!=' ')
{
x+=str.charAt(i);
}
//System.out.println(x);
int ten = Integer.parseInt(x, 16);
//System.out.println(ten);
System.out.print((char)ten);
}
}
}
}
}
结果如下: