Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据特定输入动态生成字符串的代码_Java_C# - Fatal编程技术网

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

Java 根据特定输入动态生成字符串的代码,java,c#,Java,C#,我想根据特定的输入动态生成字符串 如果输入=1,字符串输出=00000 如果它=10,输出=0000a 输入=16,输出=00010 等等 生成的字符串是从0到9的数字和从a到f的字母 对于所有生成的字符串,字符串长度都是常量 如果输出不是一个十六进制,只是一个像aaaaa表示1的字符串,那么代码是什么, 2的aaaab。我能看到的最符合您规则的c是: string NumToHex(int num){ if(num == 10) return num.ToString("x5");

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

如果输出不是一个十六进制,只是一个像aaaaa表示1的字符串,那么代码是什么,
2的aaaab。

我能看到的最符合您规则的c是:

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

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

使用String.format:

输出:


这些值之间的逻辑是否可能重复?1到0000可以是-1;10至000a刚更换底座;16到0000f再减1,但也改变了基数。或者只是输入错误?和16相同?小提示:%05x将用零填充,不需要替换…是的,这是我的错误,如果输出不是十六进制数,如果它只是一个字符串,那么代码是什么。“比你还多。”BabikerBushra,你的意思是用一个字符串来表示十进制吗?如果是这样,则必须写入%0+length+d,而不是%0+length+x。请看一下可用的。
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