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

Java 如何将整数转换为数字列表[请阅读第页的详细信息]

Java 如何将整数转换为数字列表[请阅读第页的详细信息],java,mod,Java,Mod,我最好用一个例子来表达,我正在写一个程序,比如说我有一个这样的函数: static List<Integer> int2List(int l, int base) 。。。 这很像递归mod,但有一些条件我无法理解 谢谢 感谢您的所有评论,我已经更新了问题内容和方法的签名,我想显示列表的内容,但我忘了在元素之间添加逗号 这是我的代码,它还不正确,但我想你可以从中得到一些感觉。它也很像Long.toString(inti,intradix),区别是首先我需要添加前导零,然后我需要对列表

我最好用一个例子来表达,我正在写一个程序,比如说我有一个这样的函数:

static List<Integer> int2List(int l, int base)
。。。 这很像递归mod,但有一些条件我无法理解

谢谢 感谢您的所有评论,我已经更新了问题内容和方法的签名,我想显示列表的内容,但我忘了在元素之间添加逗号

这是我的代码,它还不正确,但我想你可以从中得到一些感觉。它也很像Long.toString(inti,intradix),区别是首先我需要添加前导零,然后我需要对列表中的每个元素执行“+1”,但这样做也不会给出正确的结果

    static List<Integer> int2List(int l, int base) {
//        String s = Long.toString(l,base);
        List<Integer> list = new ArrayList<Integer>();

        int k = l % base;
        int j = l / base;
        int m = 0;
        list.add((int) (k + 1));
        while (j > base) {
            k = j % base;
            list.add((int) (k));
            if (j == base)
                break;
            j = j / base;
        }
        if (j == base) {
            list.add((int) (j));
        } else {
            if (j > 0) {
                list.add((int) (j));
            }
        }
        Collections.reverse(list);
        return list;
    }
静态列表int2List(intl,intbase){
//字符串s=长.toString(l,基);
列表=新的ArrayList();
int k=l%基准;
int j=l/基;
int m=0;
增加((int)(k+1));
while(j>base){
k=j%基准;
增加((int)(k));
如果(j==基准)
打破
j=j/基;
}
如果(j==基准){
增加((int)(j));
}否则{
如果(j>0){
增加((int)(j));
}
}
收款。反向(列表);
退货清单;
}
我知道我在第一版中犯的错误,我现在修正我的错误并更新问题,使之更具体,你能删除“不值得一读”吗,我会非常感激

===================


嗯,这个方法应该在一个循环中使用,这样它将输出由[1,base]范围内的数字组成的所有可能的序列,
l
可以被视为一个索引。

我认为你的方法签名是错误的。该函数似乎将数值转换为它的基本表示形式

这意味着返回值必须包含字符串

我不清楚您使用列表的原因。

这个怎么样

static List<Integer> int2List(int l, int base)
{
    List<Integer> list = new ArrayList<Integer>();
    int n;
    l++;
    while(l > 0)
    {
       n = (l-1) % base;
       list.add(0, (int) n+1);
       l = (l-n)/base; 
    }
    return list;
}
静态列表int2List(intl,intbase)
{
列表=新的ArrayList();
int n;
l++;
而(l>0)
{
n=(l-1)%碱基;
添加(0,(int)n+1);
l=(l-n)/基数;
}
退货清单;
}

您的示例没有多大意义。为什么要获取单个值列表而不只是返回值?你能解释一下你的方法打算做什么吗?为什么它会返回列表?从你展示的情况来看,函数似乎将输入数和基数都增加了1,然后返回修改后的基数的表示形式。我认为你需要做功课,试着写一些代码,然后返回一个更具体的问题。祝你好运看起来不错,不过你还是得把车倒过来list@maszter你是对的。新的数字应该加在开头,而不是结尾。我已经改正了。谢谢。在结尾处添加新数字并在结尾处反转可能更有效。谢谢!!这正是我要找的。
static List<Integer> int2List(int l, int base)
{
    List<Integer> list = new ArrayList<Integer>();
    int n;
    l++;
    while(l > 0)
    {
       n = (l-1) % base;
       list.add(0, (int) n+1);
       l = (l-n)/base; 
    }
    return list;
}