Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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 - Fatal编程技术网

Java 从某个数字生成所有可能的值

Java 从某个数字生成所有可能的值,java,Java,有人知道在哪里可以找到生成 独特的价值观如下: 0123456789010203。。。99 001 002 ... 999等等… 我正在尝试获取从0到999的所有数字的所有可能的、不重复的组合,并以数组的形式返回它们 我已经到处找了,但找不到。 可悲的是,我的智商不够高,我自己也做不到。 下面是我的尝试: public int[] getUniqueIds(int amount){ int[] arrayResultIds = new int[amount]; int itera

有人知道在哪里可以找到生成 独特的价值观如下: 0123456789010203。。。99 001 002 ... 999等等… 我正在尝试获取从0到999的所有数字的所有可能的、不重复的组合,并以数组的形式返回它们

我已经到处找了,但找不到。 可悲的是,我的智商不够高,我自己也做不到。 下面是我的尝试:

public int[] getUniqueIds(int amount){
    int[] arrayResultIds = new int[amount];
    int iteratorPosOfResultArray = 0;
    int idBefore = 0;
    int idToAdd  = 0;

    // First loop set values 0-9
    for (int i = 0; i < 10; i++) {
        arrayResultIds[iteratorPosOfResultArray] = idToAdd;
        idToAdd++;
        iteratorPosOfResultArray++;
    }

    // 0-9
    // 00-09
    // 10-19
    // 20-29

    int iteratorPosOfWhileLoop = 0;
    String num = "";
    while (true){
        for (int i = 0; i < 10; i++) {
            idToAdd++;
        }
    }
}
public int[]getUniqueId(整数金额){
int[]arrayResultIds=新的int[金额];
int iteratorPosOfResultArray=0;
int idBefore=0;
int-idToAdd=0;
//第一个循环设置值0-9
对于(int i=0;i<10;i++){
ArrayResultds[iteratorPosOfResultArray]=idToAdd;
idToAdd++;
迭代器数组++;
}
// 0-9
// 00-09
// 10-19
// 20-29
int iteratorPosOfWhileLoop=0;
字符串num=“”;
while(true){
对于(int i=0;i<10;i++){
idToAdd++;
}
}
}

这个小方法将创建从0到所需数量的所有数字

public int[] getUniqueIds(int amount) {
    int[] arrayResultIds = new int[amount+1];
    for (int i = 0; i < amount; i++) {
        arrayResultIds[i] = i+1;
    }
    return arrayResultIds;
}
public int[]getUniqueId(整数金额){
int[]arrayResultIds=新int[金额+1];
对于(int i=0;i
接受的算法在
[1..N]
范围内创建一个数字数组,但是要求生成一个前导
0
的序列,也就是说,需要生成/打印一个字符串序列

这可以使用
String.format
来实现,该格式允许使用前导
0
s创建“数字”

publicstaticstring[]getid(int-limit){
列表结果=新建ArrayList();
int p=10;
int n=整数.toString(limit).length();

对于(int i=1;i此代码不生成所请求的输出。您可能应该提前结束一个值。我认为您的示例对序列的描述不够,无法编写代码来生成预期的输出。它是如何从03到99的?它是如何从002到999的?我们需要对该序列进行一些假设可能是对的,也可能是错的,用这个定义很难判断。
System.out.println(getIds(111).length + " elements");
0  1  2  3  4  5  6  7  8  9  
10  
00  01  02  03  04  05  06  07  08  09  
10  11  12  13  14  15  16  17  18  19  
20  21  22  23  24  25  26  27  28  29  
30  31  32  33  34  35  36  37  38  39  
40  41  42  43  44  45  46  47  48  49  
50  51  52  53  54  55  56  57  58  59  
60  61  62  63  64  65  66  67  68  69  
70  71  72  73  74  75  76  77  78  79  
80  81  82  83  84  85  86  87  88  89  
90  91  92  93  94  95  96  97  98  99  
100  
000  001  002  003  004  005  006  007  008  009  
010  011  012  013  014  015  016  017  018  019  
020  021  022  023  024  025  026  027  028  029  
030  031  032  033  034  035  036  037  038  039  
040  041  042  043  044  045  046  047  048  049  
050  051  052  053  054  055  056  057  058  059  
060  061  062  063  064  065  066  067  068  069  
070  071  072  073  074  075  076  077  078  079  
080  081  082  083  084  085  086  087  088  089  
090  091  092  093  094  095  096  097  098  099  
100  101  102  103  104  105  106  107  108  109  
110  111  
224 elements