本题目要求读入若干个代表整数的字符串,然后将其转化为整数。
如果该数>=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
package com.company;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while(input.hasNextInt()){
String str = input.nextLine(); //字符串的输入
int t=Integer.parseInt(str);//将字符串转换成整数
if(t>=10000&&t<=20000){
System.out.println(Integer.toBinaryString(t)+','+Integer.toOctalString(t)+','+Integer.toHexString(t));
}//二进制字符串,八进制字符串,十六进制字符串
else {
int sum=0;
for(int i=0;i<str.length();i++){
int x;
if(str.charAt(i)=='-')//charAt()的作用就是将字符串的第i位取出
continue;
x= str.charAt(i)-'0';
sum+=x;
System.out.print(x+" ");
}
System.out.println(sum);
}
}
}
}