在java中以特定方式增加数组中的值
我想创建一个程序,它将作为输入我们将有多少个类别,例如3在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
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来解决这个问题。在第一篇帖子上检查我的问题,因为我是新会员,所以无法回答我的问题。我编辑了第一个,看看我在找什么。