0
点赞
收藏
分享

微信扫一扫

New Online Judge 1020

惠特曼 2022-03-10 阅读 66
java

题目描述

数在生活中有各种各样的表示法。时间的小时是24进制,时间的分是60进制,计算机内的数用二进制,我们平时用十进制。请你把一个十进制的数转成八进制和十六进制。

输入格式

输入有若干行,每行一个整数代表一个十进制数。数字范围在int以内。

输出格式

按要求的格式输出对应的八进制数和十六进制数。
如输入10时,输出格式是:10 = 12(8) = a(16)
输入负数时,只需要将其相反数转化成对应进制,输出时在前面添加负号即可。

输入样例

10
-2
99
100
-100

输出样例

10 = 12(8) = a(16)
-2 = -2(8) = -2(16)
99 = 143(8) = 63(16)
100 = 144(8) = 64(16)
-100 = -144(8) = -64(16)
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextInt())
        {
           int a=scanner.nextInt();
           if(a<0)
           {
               int b=Math.abs(a);
               //format保留全部位数了
               String c=Integer.toHexString(b);
               String d=Integer.toOctalString(b);
               System.out.println(a+" "+"="+" "+"-"+d+"(8)"+" "+"="+" "+"-"+c+"(16)");
           }
           else
           {
               String c=Integer.toHexString(a);
               String d=Integer.toOctalString(a);
               System.out.println(a+" "+"="+" "+d+"(8)"+" "+"="+" "+c+"(16)");
           }
        }
    }
}

 接收的是数字用Interger,接收的是字符串用Long.valueOf

 

举报

相关推荐

New Online Judge 1017

New Online Judge 1018

New Online Judge 1009

New Online Judge 1007

New Online Judge 1019

New Online Judge 1012

New Online Judge题解1006

0 条评论