亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

給定條件的數組總和

給定條件的數組總和

尚方寶劍之說 2022-07-20 10:13:16
問題是打印具有以下條件的數組的總和:如果數組有 6 和 7 的連續順序,則忽略 6 和 7 之間的數字并考慮其他數字來計算總和。樣本輸出:輸出:22 表示 [10,3,6,1,2,7,9] [即 10+3+9]輸出:19 代表 [7,1,2,3,6]輸出:12:10 for [1,6,4,7,9, 1]我的代碼:int sum=0;for (int i=0; i<n.length-1; i++) {    if (n[i]==6 && n[i+1]==7) {         continue;     }     else{         sum+=n[i];     }}System.out.println(sum);我沒有得到預期的輸出。我知道我的邏輯并不完美,但我不知道該怎么做。因此,任何幫助或指導都會非常有幫助。提前致謝。
查看完整描述

4 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

可以通過查找 7 的嵌套循環來完成,盡管這會變得很棘手,具體取決于我們應該如何處理嵌套的 6 和 7。在下面的示例 6、6、7 中,中間的 6 被忽略:


int[] n = {1,6,3,7,6,6,7,1};

int sum = 0;

outer:

for (int i = 0; i < n.length; i++) {

    if (n[i] == 6) {

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

            if (n[j] == 7) {

                i = j;

                continue outer;

            }

        }

    }

    sum += n[i];

}


System.out.println(sum); // 2


查看完整回答
反對 回復 2022-07-20
?
達令說

TA貢獻1821條經驗 獲得超6個贊

public static void main(String[] args) {

    //int arr[]= {10,3,6,1,2,7,9};

    //int arr[]= {7,1,2,3,6};

    int arr[]= {1,6,4,7,9};

    int n=arr.length; //the length of the array

    int sum1=0,sum2=0,sum3=0;

    boolean flag=false;


    for(int i=0;i<=n-1;i++) {

        for(int j=n-1;j>=1;j--) {

        if(arr[i]==6 && arr[j]==7 ) {

            flag= true;

            break;

        }

    }

    }

    

if(flag) {

    for(int i=0;i<=n-1;i++) {

        if(arr[i]==6) {

            break;

        }

        else {

            sum1+=arr[i];

        }

    }

    

    for(int j=n-1;j>=1;j--) {

        if(arr[j]==7) {

            break;

        }

        else {

            sum2+=arr[j];

        }

    }

    int result=sum1+sum2;

    System.out.println(result);

}

else {

    for(int k=0;k<n;k++) {

        sum3+=arr[k];

    }

    System.out.println(sum3);

}

}


查看完整回答
反對 回復 2022-07-20
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

 int[] n = {10,3,6,1,2,7,9};

 int sum = 0,d=0;    

 for(int i=0;i<n.length-1;i++){

     if(n[i]==6){

         for(int j=n.length-1;j>=0;j--){

             if(n[j]==7)

             break;

             d=d+n[j];

         }

         break;

      }

     sum=sum+n[i];

  }

 System.out.println(d+sum); 

 }


查看完整回答
反對 回復 2022-07-20
?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

    int sum=0,i;

    boolean add = true;

    int[] array = new int[]{1,6,4,7,9};

    for(i=0; i<array.length;i++)

    {


        if(array[i] != 6 && add==true)

            sum = sum+array[i];

        else if(array[i] == 6){

            if((i+1) == array.length)

                sum = sum+array[i];

            else

                add = false;

        }

        else if(array[i] == 7)

            add = true;

    }

    System.out.println(sum);



查看完整回答
反對 回復 2022-07-20
  • 4 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號