Java: Bir qator parametr sifatida oldindan belgilangan uzunlikdagi qatorni sozlashmi?

5 ta ikkilamchi qadriyatni oladi va ular bilan ishlashni amalga oshiradigan usul mavjud. Ayni paytda dalillar ro'yxati besh xil juftlik. Bir double [] usuli uchun argument sifatida o'tishning biron bir usuli bor, lekin uning uzunligi to'liq 5 ekanligini tekshirish kerakmi?

Buning bir usuli:

private void myMethod(double[] args) {
    if (args.length == 5) {
       //do something
    }
}

ammo yaxshiroq yo'l bormi?

0

4 javoblar

To'liq 5 dublaga muhtoj ekaningizni bilsangiz, men 5 dona ikki juftlikni so'rashdan yaxshiroq deb o'ylayman. Ularning nomlari bilan aniqlangan holda, bu o'zgaruvchining tartibini saqlab qolish uchun hali ham qiyin (hatto intellisense yoki nima bo'lsa ham) deyarli qiyin bo'ladi. Agar ular qatorda bo'lsa, foydalanuvchi indeksni qaysi qiymatdan o'tish kerakligini ko'rish uchun hujjatlarni ko'rib chiqishi kerak.

3
qo'shib qo'ydi

Yo'q. Bir funktsiyaga uzatilgan qator uzunligini cheklab bo'lmaydi.

Maqsadingiz tekshiruv kodini metoddan tozalagani holda saqlasangiz, haqiqiy ishni boshqa usulga topshirishi mumkin.

Sizning muammoingiz parametr ro'yxatining uzunligi bo'lsa, siz parametr ob'ektini topshirishingiz mumkin.

0
qo'shib qo'ydi

Vektorning ixtisoslashuviga ega bo'lgan sinf yaratishingiz mumkin, ammo u 5 marta ko'payadi. Agar qatorda juda oz yoki ko'p sonli yozuvlar mavjud bo'lsa, men istisno qilmoqchiman - bu ish vaqti istisno emas, balki dasturiy muammo.

0
qo'shib qo'ydi

Kodni try-catch blokiga qo'yishingiz mumkin. Bu keraksiz tekshirishni o'tkazib yuborishga imkon beradi. Lekin agar noto'g'ri ish qilsangiz, muammolardan qochishingiz mumkin.

0
qo'shib qo'ydi