将数组的整数添加到某个数字(java)
我有一个java问题 我有两个将数组的整数添加到某个数字(java),java,Java,我有一个java问题 我有两个int[]数组:cdn和cmn cdn是{1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} cmn是{8,8,16} 我需要一个程序,将cdn[]的连续整数加到cmn[init]并返回加法中使用的整数数。然后它继续从cdn[]的下一个整数添加到cmn[init+1]并返回整数数。对于上面的数组,这将执行3次:第一次返回值为7,第二次返回值为7,第三次返回值为16。整数的数量可以在和int[]中收
int[]
数组:cdn
和cmn
cdn
是{1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
cmn
是{8,8,16}
我需要一个程序,将
cdn[]
的连续整数加到cmn[init]
并返回加法中使用的整数数。然后它继续从cdn[]
的下一个整数添加到cmn[init+1]
并返回整数数。对于上面的数组,这将执行3次:第一次返回值为7,第二次返回值为7,第三次返回值为16。整数的数量可以在和int[]
中收集,这是{7,7,16}
。我的密码是:
int numofints=0;
int init=0;
整数加等于0;
而(初始值
其中,m2
是cmn
的大小,在本例中为3。请注意,我的程序从cdn
的开头开始一次又一次地循环,因为j=0
。我希望它从上次结束的地方开始!
我希望你能给我一个解决办法
Bjorn只需将
j
从外环中拉出,并在时使用而不是作为内环
您还需要将plus=0
放入循环中
public class T {
public static void main(String[] args) {
int[] cdn = {1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
int[] cmn = {8,8,16};
int numofints = 0;
int init = 0;
int m2 = 3;
int j = 0;
while(init < m2){
int plus = 0;
while(j < cdn.length){
plus += cdn[j];
j++;
numofints++;
if(plus == cmn[init]){
init++;
System.out.println(j);
break;
}
}
if (j == cdn.length) break;
}
}
}
公共类T{
公共静态void main(字符串[]args){
int[]cdn={1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1};
int[]cmn={8,8,16};
int numofints=0;
int init=0;
int m2=3;
int j=0;
而(初始值
不应该if(plus==cmn[init]){
beif(plus>=cmn[init])
?如果您更改了cdn,而“plus”恰好超过了“cmn[init]”,那么您的代码就要崩溃了。这段代码导致编译器卡住了。看起来不错。您知道为什么吗?您的意思是“编译器”被卡住或执行从未终止?它只是停止做任何事情(它不是一个无限循环)。什么停止做任何事情?编译(javac
)或执行?光标在执行过程中闪烁。