版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_42623428/article/details/85610059
本题目要求读入若干个代表整数的字符串,然后将其转化为整数。
如果该数>=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.*;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int n=0;
while(scan.hasNext()) {
int sum=0,num=0;
String line=scan.nextLine();
n=Integer.parseInt(line);
if(n>=10000&&n<=20000) {
System.out.println(Integer.toBinaryString(n)+","+Integer.toOctalString(n)+","+Integer.toHexString(n));
}
else {
char []c=line.toCharArray();
if(n<0) {
for(int i=1;i<line.length();i++) {
num=c[i]-'0';
sum+=num;
System.out.print(num+" ");
}
}
else {
for(int i=0;i<line.length();i++) {
num=c[i]-'0';
sum+=num;
System.out.print(num+" ");
}
}
System.out.println(sum);
}
}
scan.close();
}
}