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

在java中以特定方式增加数组中的值

在java中以特定方式增加数组中的值,java,arrays,numbers,sequence,Java,Arrays,Numbers,Sequence,我想创建一个程序,它将作为输入我们将有多少个类别,例如3 int [] n=new int[4]; n[1]=0; n[2]=0; n[3]=0; 然后,它将询问每个参数的最大值,例如: int [] max=new int[4]; max[1]=2; max[2]=4; max[3]=3; 我想根据它们的最大值生成一个数字序列。例如当n[3]==3时=0;i--){//循环数组(从最后一个循环到第一个循环) 对于(int counter=0;counter

我想创建一个程序,它将作为输入我们将有多少个类别,例如3

int [] n=new int[4];
n[1]=0; n[2]=0; n[3]=0;
然后,它将询问每个参数的最大值,例如:

int [] max=new int[4];
max[1]=2;
max[2]=4;
max[3]=3;
我想根据它们的最大值生成一个数字序列。例如当
n[3]==3时n[2]++直到达到其最大值,然后n[1]。我希望结果是这样的:

n[1]    n[2]    n[3]
0        0       0
0        0       1
0        0       2
0        0       3
0        1       0
直到达到值
n[1]=2,n[2]=4,n[3]=3

输出示例如下:

From array slot #0: 0
From array slot #1: 0
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 1
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 2
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 3
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #0: 1
From array slot #1: 0
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 1
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 2
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2

From array slot #1: 3
From array slot #2: 0
From array slot #2: 1
From array slot #2: 2
我最大的问题是我想动态地做。更具体地说,我想更改给定的类别,例如要求4个cat及其最大值,但保持相同的逻辑


我希望你能帮我做这件事。对不起,我的英语很差

如果这没有帮助,我很抱歉,我不太确定你的目标是什么,但你想做的是:

  • 迭代数组(大小为3),从最后一个插槽开始,到第一个插槽结束
  • 对于每个插槽,在控制台上从0打印到该位置的值(第一次从0打印到3)
  • 如果是,请看以下内容:

    static int[] array = new int[3];
    public static void main(String[] args) {
         array[0] = 2;
         array[1] = 4;
         array[2] = 3;
    
         printSequence(array.length);
    }
    
    static void printSequence(int howManyMaxes) {
        for(int i = howManyMaxes-1; i >= 0; i--) { //loops through array (from last to first)
             for(int counter = 0; counter < array[i]; counter++) { //loops from 0 to value
                  System.out.println("From array slot #"+i+": "+counter);
             }
        }
    }
    
    static int[]数组=新int[3];
    公共静态void main(字符串[]args){
    数组[0]=2;
    数组[1]=4;
    数组[2]=3;
    打印顺序(数组长度);
    }
    静态void打印序列(int howmanymax){
    对于(int i=howmanymax-1;i>=0;i--){//循环数组(从最后一个循环到第一个循环)
    对于(int counter=0;counter
    至于格式化,那是你的决定。把它弄得乱七八糟,你会熟悉它的

    它以类似数组的方式计数。如果最大值为2,则结果将为“0,1”,而不是“1,2”。
    要更改此设置,请更改计数器的起始位置,而不是
    计数器
    ,条件必须是
    计数器,以确保您故意忽略数组中的第0个位置?否。。这不是我的问题。我可以通过在数组位置上添加+1来解决这个问题。在第一篇帖子上检查我的问题,因为我是新会员,所以无法回答我的问题。我编辑了第一个,看看我在找什么。