有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是根据特定输入动态生成字符串的代码

我想根据特定的输入动态生成字符串 如果输入=1,字符串输出=00000 如果它=10,则输出=0000a 输入=16,输出=00010 等等 生成的字符串是从0到9的数字和从a到f的字母 对于所有生成的字符串,字符串长度都是常量

如果输出不是十六进制,只是一个类似于aaaaa的字符串,那么代码是什么

aaaab为2


共 (2) 个答案

  1. # 1 楼答案

    我认为最符合你们规则的c#是:

    string NumToHex(int num){
      if(num == 10)
        return num.ToString("x5");
      else
        return (num-1).ToString("x5");
    }
    
  2. # 2 楼答案

    我假设您犯了一个错误,1的输出应该是00001,而16的输出应该是00010

    使用String.format

    public static void main(String[] args) throws Exception {
        System.out.println(toHex(0, 5));
        System.out.println(toHex(1, 5));
        System.out.println(toHex(10, 5));
        System.out.println(toHex(16, 5));
    }
    
    private static String toHex(int input, int length) {
        return String.format("%0" + length + "x", input);
    }
    

    输出:

    00000
    00001
    0000a
    00010