7-4 jmu-Java-01入门-取数字

本题目要求读入若干个代表整数的字符串,然后将其转化为整数。

如果该数>=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) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String s;
		while(true)
		{
			s = sc.nextLine();
			//输入为空就跳出循环
			if(s == null)
				break;
			int m = Integer.parseInt(s);
			//如果输入是负的
			if(m<0)
				m = -m;
			//System.out.println(m);
			if(m>=10000&&m<=20000)
			{
				//要学会java内置的进制转化函数(Integer下的)
				System.out.println(Integer.toBinaryString(m)+","+Integer.toOctalString(m)+","+Integer.toHexString(m));
			}
			else
			{
				StringBuilder ss = new StringBuilder(s);
				int sum = 0;
				for(int i = 0;i < ss.length();i++)
				{
					//遇到负号直接跳过去不读
					if(s.charAt(i)=='-')
					{
						continue;
					}
					System.out.print(ss.charAt(i)+" ");
				}
				//统计求和
				while(m!=0)
				{
					int i;
					i = m%10;
					sum += i;
					m = m/10;
				}
				System.out.println(sum);
			}	
		}
		sc.close();
	}
}
发布了43 篇原创文章 · 获赞 61 · 访问量 5108

猜你喜欢

转载自blog.csdn.net/qq_44735533/article/details/103230428
7-4
今日推荐