2017-04-20 77 views
-2
public static void main (String[] args) { 
    int [] numbers = {1,2,3,4,5,6,7,8,9,10}; 
    int sum=0; 
    int sum1=0; 
    for (int i = 0; i < numbers.length; i++){ 
     for (int ii = 0 ; ii < i ; ii--){ 
      sum=sum+=numbers[i];            
     } 
     System.out.println("The sum is " + sum + " "+ sum1); 
    } 

    System.out.print(" "); 

} 

输入必须等于例如是 {1,2,3},如果我组它分成两所述第一结果将是1!= 5,以及第二个是3 = 3输入必须等于

+0

能否请您发布您的预期产出? – DineshKumar

+0

输入什么?这里没有太多的输入。你想达到什么目的? – gonczor

+0

'sum = sum + = numers [i]'也许你想写'sum1 = sum + = numbers [i]'?虽然我会高度劝阻这种类型的代码风格,因为它不会提高清晰度。 – Turing85

回答

1

它看起来(基于你的例子),就像你想将输入数组分组成2个子数组并分别求和它们中的每一个,这不是你所做的(你没有添加任何东西到你的sum1变量)。

for (int i = 0; i < numbers.length; i++){ 
    int sum1 = 0; 
    int sum2 = 0; 
    for (int j = 0; j < i; j++){ 
     sum1+=numbers[j];           
    } 
    for (int j = i; j < numbers.length; j++){ 
     sum2+=numbers[j];           
    } 
    System.out.println("The sums are " + sum1 + " "+ sum2); 
} 

对于输入数组{1,2,3}您将获得:

The sums are 0 6 
The sums are 1 5 
The sums are 3 3 

如果你想这两个群体是不可空(所以第一个输出线不会出现),你需要做一个小的变化 - 用int i = 1开始外部循环。

+0

这是我正在尝试做的一个 – John

相关问题