2016-05-29 68 views
-1

我在for循环之前声明了数组,现在我想将for循环的结果连接到数组中。以下不起作用,并给我错误为“错误:无法找到符号”。在java中连接数组中循环的结果

我的代码是

for(int j=i; j<=arr.length-1; j++){    

    // checking for condition 
    if (i<j) 
    { 
     int temp = arr[i]+arr[j]; 
     if (temp%sum==0) { 
     System.out.println("Pair with given sum " + 
          sum + " is (" +temp+")"); 
      result[] += temp; 
     } 
    } 
+0

对不起,我忘了在福尔循环包括,谈到之前的if语句 – aditya

+3

'结果[] + = temp'显然是不正确。这个数组最初是在哪里申报的? – Makoto

+0

声明结果[]数组并将temp插入数组的某个索引。 例如result [i] = temp。如果您不知道结果数组的最终大小,您可以使用arraylist。 – Gihanmu

回答

2

你的错误是在这里

result[] += temp; 

您需要提供一个索引你的数组,其中它可以存储值

尝试是这样的

result[i] += temp; 

还要注意这将创建一个具有不同temp值的数组。

加在你for循环,你正在做j=i,然后检查

if(i<j)

所以,你的循环将在1次迭代运行,因为第一次的条件将是错误的。

如果您不必打印值temp并且只有值的数量,那么您根本不需要数组。

您可以简单地创建一个变量

int count=0;

,然后改变你的for循环这样的事情

if (temp%sum==0) { 
     System.out.println("Pair with given sum " + 
          sum + " is (" +temp+")"); 
      count++; 
     } 

然后打印计数。

如果使用阵列是强制性的,你可以打印数组的长度一样

result.length

希望这有助于:)

+0

嗨@aradhana谢谢你的帮助,但事情是我需要添加一个数组中的所有临时值,以便我可以打印出该数组的数量 – aditya

+0

所以,你的意思是你需要存储(而不是添加)临时值在一个数组中,然后至少要打印存储在数组中的项目数量? – Aradhna

+0

是的,我想存储在温度值阵列和打印项目数 – aditya

0

你的代码是这样的..何况结果指数环和使用前申报。 click here查看错误发生的原因。

你能提供int i的价值,这样我们可以帮你循环。

int result = new int[100] //give value according to your program. 
for(int j=i; j<=arr.length-1; j++){    
// checking for condition 
if (i<j) 
{ 
    int temp = arr[i]+arr[j]; 
    if (temp%sum==0) { 
    System.out.println("Pair with given sum " + 
         sum + " is (" +temp+")"); 
     result[j] += temp; 
    } 
} ` 
+0

这仍然给我一个错误,因为“错误:找不到符号 int result = new result [100];” – aditya

+0

我编辑了我的答案,再试一次。 – yash

+0

抱歉,我只需要循环中存储的元素的索引....你写的代码只会增加索引。 – aditya

0

的阵列不因为你可能think.When您创建工作例如 如果你想:数组这样

int x[10] = new int[10]; 

,你可以像这样访问数组中的元素第一个元素x[0]第二个x[1](你的statrt从0到数组长度-1计数)。所以你在这里做:

result[] += temp; 

不作sense.You高度重视和始终指定你想访问(你可能要像 result[index] += temp;)的元素的索引。

我希望我能帮上忙。

+0

循环将不会工作的第一次迭代,这就是我想要的 – aditya

+0

哦,你希望它不能正常工作,那么我会删除那部分。 – theVoid

0

你的错误是在行

result[] += temp; 

你需要提及你想连接的结果数组索引。 对于如

//your code goes here 
..... 
for (int k = index_of_resultArray_to concatenate; k < result.length; k++) { 
    result[k] += temp; 
}