本题目要求读入若干个代表整数的字符串,然后将其转化为整数。
如果该数>=10000且<=20000,则依次输出其对应的二进制字符串、八进制字符串、十六进制字符串。
否则将字符串中的每个数字抽取出来,然后将所有数字加总求和。
提示:参考jdk文档的Integer,
输入样例:
123
10000
-123
314159265
输出样例:
1 2 3 6
10011100010000,23420,2710
1 2 3 6
3 1 4 1 5 9 2 6 5 36
通过代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str;
while(true){
str = sc.next();
Integer data = new Integer(str);
if(data.intValue() >= 10000 && data.intValue()<=20000){
System.out.print(Integer.toBinaryString(data.intValue()));
System.out.print(",");
System.out.print(Integer.toOctalString(data.intValue()));
System.out.print(",");
System.out.print(Integer.toHexString(data.intValue()));
System.out.println();
}
else{
boolean flag = true;
int add = 0;
for(int i=0; i<str.length();++i){
if(str.charAt(i) == '-'){
continue;
}
if(flag){
flag = false;
}
else{
System.out.print(" ");
}
System.out.print(str.charAt(i));
add += str.charAt(i) - '0';
}
System.out.print(" ");
System.out.println(add);
}
}
//sc.close();
}
}