Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 - Fatal编程技术网

将数组的整数添加到某个数字(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[]中收

我有一个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[]
中收集,这是
{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]){
be
if(plus>=cmn[init])
?如果您更改了cdn,而“plus”恰好超过了“cmn[init]”,那么您的代码就要崩溃了。

这段代码导致编译器卡住了。看起来不错。您知道为什么吗?您的意思是“编译器”被卡住或执行从未终止?它只是停止做任何事情(它不是一个无限循环)。什么停止做任何事情?编译(
javac
)或执行?光标在执行过程中闪烁。