Je, unaepukaje faharisi ya safu nje ya ubaguzi uliowekwa?
Je, unaepukaje faharisi ya safu nje ya ubaguzi uliowekwa?

Video: Je, unaepukaje faharisi ya safu nje ya ubaguzi uliowekwa?

Video: Je, unaepukaje faharisi ya safu nje ya ubaguzi uliowekwa?
Video: ASMR/SUB 꿈 속 산타 마을 사무소🎅 크리스마스 롤플🎄(재업로드) 2024, Aprili
Anonim

Ili kuzuia " safu index nje ya kufungwa " ubaguzi , mazoezi bora ni kuweka kuanzia index kwa njia ambayo wakati iteration yako ya mwisho inatekelezwa, itaangalia kipengele katika index i & i-1, badala ya kuangalia i & i+1 (tazama mstari wa 4 hapa chini).

Baadaye, mtu anaweza pia kuuliza, index ya safu ni nini nje ya ubaguzi uliowekwa?

The safu index nje ya mipaka kosa ni kesi maalum ya hitilafu ya kufurika kwa bafa. Inatokea wakati index kutumika kushughulikia safu vitu vinazidi thamani inayoruhusiwa. Ni eneo nje ya mipaka ya safu ambayo inashughulikiwa, ndiyo sababu hali hii inachukuliwa kuwa kesi ya tabia isiyojulikana.

Pia Jua, ni nini husababisha ArrayIndexOutOfBoundsException? An ArrayIndexOutOfBoundsException ni iliyosababishwa kwa kujaribu kurudisha "kisanduku" ambacho hakipo, kwa kupitisha faharasa ambayo ni ya juu kuliko faharasa ya "sanduku" ya mwisho, au hasi.

  • jina.
  • Wakati wa kufikia yaliyomo kwenye safu, nafasi huanza kutoka 0.
  • Unapozunguka, kwa kuwa naweza kuwa chini ya au sawa na jina.

Pia kujua, unashughulikiaje safu nje ya ubaguzi katika Java?

Fahirisi ya a safu ni thamani kamili ambayo ina thamani katika muda [0, n-1], ambapo n ni saizi ya safu . Ikiwa ombi la hasi au faharasa kubwa kuliko au sawa na saizi ya safu inafanywa, basi JAVA inarusha ArrayIndexOutOfBounds Isipokuwa . Hii ni tofauti na C/C++ ambapo hakuna faharisi ya amefungwa ukaguzi umefanywa.

Ni nini faharisi ya String nje ya ubaguzi katika Java?

lang. StringIndexOutOfBoundsException ikiwa beginIndex ni hasi, au kubwa kuliko urefu wa kamba . Njia hii inarudisha sub- kamba ambayo huanza na mhusika katika maalum index na inaenea hadi herufi kwenye endIndex-1 index . Inatupa java.

Ilipendekeza: