JAVA-作业2-4:编写程序,从控制台接收用户输入的十六进制,并输出对应的二进数

题目:

编写程序,从控制台接收用户输入的十六进制,并输出对应的二进数,要求程序中用一个字符串数组表示16进制的“0”至“F”。如下所示:

String[] hexBits = {"0000", "0001", "0010", "0011",

                    "0100", "0101", "0110", "0111",

                    "1000", "1001", "1010", "1011",

                    "1100", "1101", "1110", "1111"};

产生输出如下所示:

Enter a Hexadecimal string: 1abc

The equivalent binary for hexadecimal "1abc" is 0001 1010 1011 1100

代码如下:

import java.util.Scanner;

public class HW04 {
    public static void main(String[] args) {
        String[] hexBits = { "0000", "0001", "0010", "0011",
                "0100", "0101", "0110", "0111",
                "1000", "1001", "1010", "1011",
                "1100", "1101", "1110", "1111" };

        System.out.print("Enter a Hexadecimal string:");
        Scanner sc = new Scanner(System.in);
        String str16 = sc.nextLine();
        sc.close();
        String[] str2 = new String[str16.length()];

        for (int i = 0; i < str16.length(); i++) {
            char x = str16.charAt(i);
            if (x >= '0' && x <= '9') {
                String temp = String.valueOf(x);
                int y = Integer.parseInt(temp);
                str2[i] = hexBits[y];
            } else {
                int z = x - 87;
                str2[i] = hexBits[z];
            }
        }

        System.out.print("The equivalent binary for hexadecimal \"" + str16 + "\" is ");
        for (int j = 0; j < str2.length; j++) {
            System.out.print(str2[j] + " ");
        }

    }
}

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值