【发布时间】:2018-04-24 20:53:03
【问题描述】:
我有一个包含一堆 int 的数组。
int[] screen_ids = {17, 17, 13, 13, 13, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 9, 8, 7, 7, 7, 5, 5, 4, 4, 3, 3, 3, 2, 2, 1};
现在我想将此数组的值计数增加一个值,让我们说1.4 在此操作之后数组将如下所示:
int[] screen_ids = {17, 17, 17, 13, 13, 13, 13, 13, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 7, 7, 7, 7, 7, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1};
我将如何去做。我尝试了以下方法,但我陷入了逻辑并且代码不起作用。非常欢迎提示和建议!请参阅下面的尝试:
int[] more_data(int[] vals){
ArrayList<Integer> updated_data = new ArrayList<Integer>();
ArrayList<Integer> temp = new ArrayList<Integer>();
int count = 17;
for(int i = 0; i < vals.length; i++){
if(vals[i] == count){
temp.add(vals[i]);
}else{
temp.size() * 1.4;
for(int j = 0; j < temp.size(); j++){
updated_data.add(temp.get(j));
}
}
}
return updated_data;
}
【问题讨论】:
-
你能说得更具体些吗?将值增加
1.4是什么意思?这些值究竟是如何变化的? -
我所说的 1.4 的意思是我想将所有唯一值的计数增加 1.4。因此,如果数组包含 2x 17,则新数组应包含 3x 17,因此对于所有唯一值。希望这能让它更清楚!
-
如果我会得到 2.2,我会将其增加到 3,因为这更适合我的需要
-
我还是不太明白。另请注意,除非您@提及我们,否则我们不会收到有关您回复的通知。
-
我不知道@KevinWorkman,我会尽量说得更清楚。假设一个数组包含两个相同的值假设这些值是 17。在一个新数组中,我想复制旧值但将这些值的计数增加 1.5,因此新数组将包含三个值 17。而不是旧的两个值为 17 的数组。