第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

兩個偶數(shù)和兩個奇數(shù)彼此相鄰出現(xiàn)

兩個偶數(shù)和兩個奇數(shù)彼此相鄰出現(xiàn)

qq_笑_17 2023-06-14 13:55:35
給定一個整數(shù)數(shù)組,如果兩個偶數(shù)和兩個奇數(shù)在數(shù)組中彼此相鄰出現(xiàn),則打印 true我試圖使用“布爾值”來解決這個問題,但沒有得到預(yù)期的結(jié)果。int[] arr={2,4,5,7,8,9,10};int len=arr.length;boolean bool = true;for (int i=0; i<len-1; i++){    int n=arr[i];    int m=arr[i+1];    if (n%2==0 && m%2==0)    {        for (int j=i+2; j<len-1; j++)        {            int a=arr[j];            int b=arr[j+1];            if (a%2!=0 && b%2!=0)            {                bool=true;                break;            }            else                bool=false;        }    }    else    {        for (int j=i+2; j<len-1; j++)        {            int a=arr[j];            int b=arr[j+1];            if (a%2==0 && b%2==0)            {                bool=true;                break;            }            else                bool=false;        }    }}System.out.println("2Odd+2Even:"+bool);預(yù)期結(jié)果:2Odd+2Even:true實際結(jié)果:2Odd+2Even:false
查看完整描述

5 回答

?
森欄

TA貢獻1810條經(jīng)驗 獲得超5個贊

問題是您break;只退出內(nèi)部循環(huán)。即使在找到匹配項后,您仍會繼續(xù)外循環(huán),該循環(huán)將bool在下一次迭代中設(shè)置為 false。
無需太多更改,您只需添加

if(bool){
    break;
}

一旦找到匹配項,就在外循環(huán)的末尾離開它。


查看完整回答
反對 回復(fù) 2023-06-14
?
長風(fēng)秋雁

TA貢獻1757條經(jīng)驗 獲得超7個贊

這是一個可能的解決方案


boolean checker (int[] array) {

            if (array.length <= 3) {

                return false;

            } else {

                for (int i = 0; i < array.length - 3; i++) {

                    if (array[i] % 2 == 0 && array[i + 1] % 2 == 0) {

                        int j = i + 2;

                        if (array[j] % 2 != 0 && array[j + 1] % 2 != 0) {

                            return true;

                        }

                    } else if (array[i] % 2 != 0 && array[i + 1] % 2 != 0) {

                        int j = i + 2;

                        if (array[j] % 2 == 0 && array[j + 1] % 2 == 0) {

                            return true;

                        }

                    }

                }

                return false;

            }


        }

    }


查看完整回答
反對 回復(fù) 2023-06-14
?
UYOU

TA貢獻1878條經(jīng)驗 獲得超4個贊

class Dcoder

{  

  public static void main(String args[])

  {  

    int[] arr = {2, 4, 5, 7, 8, 9, 10};

    boolean bool1 = false;

    boolean bool2 = false;

    

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

        

        if(arr[i-1]%2 == 0 && arr[i]%2 == 0){

            bool1 = true;

        }

        else if(arr[i-1]%2 != 0 && arr[i]%2 != 0){

            bool2 = true;

        }

    }

    System.out.println("2Odd + 2Even : " + (bool1 && bool2));

  }

}


查看完整回答
反對 回復(fù) 2023-06-14
?
吃雞游戲

TA貢獻1829條經(jīng)驗 獲得超7個贊

您也可以使用位測試來完成。我擴展了布爾結(jié)構(gòu)以使其更容易理解,但如果需要,它們可以全部組合成一個。請注意,低位決定了數(shù)字能否被 2 整除。


      int[] vals = { 2, 4, 5, 7, 9, 11, 10, 14

      };

      for (int i = 0; i < vals.length - 3; i++) {

         int a = vals[i];

         int b = vals[i + 1];

         int c = vals[i + 2];

         int d = vals[i + 3];

         boolean firstTwoOdd = ((a & b) & 1) == 1;

         boolean firstTwoEven = ((a | b) & 1) == 0;

         boolean secondTwoOdd = ((c & d) & 1) == 1;

         boolean secondTwoEven = ((c | d) & 1) == 0;

         boolean oddeven = firstTwoOdd && secondTwoEven;

         boolean evenodd = firstTwoEven && secondTwoOdd;

         System.out.printf("(%d,%d,%d,%d) : %b%n",

               a,

               b,

               c,

               d,

               oddeven || evenodd);

      }


查看完整回答
反對 回復(fù) 2023-06-14
?
萬千封印

TA貢獻1891條經(jīng)驗 獲得超3個贊

您的代碼比需要的要復(fù)雜一些;嘗試使您的程序盡可能簡單。在開始編寫代碼之前,請仔細考慮實現(xiàn)目標(biāo)所需的步驟并將它們列出來。在這種情況下,您只需要檢查數(shù)組中每組 4 個相鄰元素。


是這樣的:


public static void main(String[] args) {

    int[] a = { ... };

    System.out.println("2Odd+2Even:" + has2Odd2Even(a));

}


public static boolean has2Odd2Even(int[] a) {

    int end = a.length - 4;

    for (int i = 0; i <= end; i++) {

        if (odd(a[i])) {

            if (odd(a[i + 1]) && !odd(a[i + 2]) && !odd(a[i + 3])) {

                // 0 & 1 are odd, 2 & 3 are even

                return true;

            }

        } else if (!odd(a[i + 1]) && odd(a[i + 2]) && odd(a[i + 3])) {

            // 0 & 1 are even, 2 & 3 are odd

            return true;

        }

    }

    return false;

}


public boolean odd(int i){

    return (i & 1) == 1;

}


查看完整回答
反對 回復(fù) 2023-06-14
  • 5 回答
  • 0 關(guān)注
  • 240 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號