بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تابع عدم تکرار

مدیریت گفتگو
msm 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان 

تابعی وجود داره که اعدای رو که به صورت تصادفی انتخاب شدند درون یک آرایه قرار دهد و دیگه اون اعداد تکرار نشوند؟

مثلاً اعداد از 0 تا 20 بصورت تصادفی انتخاب شوند ولی هیچ عددی دو بار انتخاب نشود/

نظرات

پاسخ‌ها 2

nooriDeveloper 11 سال پیش

میتونید اول اعداد 0 تا 20 رو تو یه arraylist بریزید، بعد با دستور ()collections.suffle ترتیب اونها رو بهم بریزید مثل کد زیر:

ArrayList<Integer> number = new ArrayList<Integer>();
		for (int i = 1; i <= 20; i++)
			   number.add(i);
		Collections.shuffle(number);

نظرات

msm 11 سال پیش
با این دستور کارم راه نمی افته چون هر سری تعداد اعداد معلوم نیست مثلاً ممکن هست یک سری 20 عدد باشه یک سری 5 عدد.
nooriDeveloper 11 سال پیش
اگه یه خورده دقیق تر و بیشتر در مورد کاری که میخواین انجام بدین، توضیح بدید شاید بهتر بشه کمک کرد. متأسفانه دقیقاً متوجه منظورتون نشدم
msm 11 سال پیش

الان کامل کارم رو توضیح میدم

برنامه به این صورت هست که در یک آرایه استاتیک تعدادی جمله نوشته شده و بعد در هر سری بصورت تصادفی یک عضو از اون آرایه انتخاب می شود میخوام جمله ای رو که یک بار نمایش دادم دیگه تا وقتی که همه جمله ها نشون داده نشدند نشون داده نشه . 

اما نمی خوام که هر باری که کاربر شروع به بازی کرد جمله ها از اول  شروع به نمایش کنند میخوام که هر بار متفاوت باشه امیدوارم که مفهوم رسونده باشم؟ 

نظرات

nooriDeveloper 11 سال پیش
خوب این که با یه حلقه while و استفاره از دستور بالا به راحتی قابل پیاده سازیه، شما وقتی تو آرایه ترتیب جملات رو بهم ریختید، اون رو از خونه شماره 1 آرایه تا خونه دلخواه پیمایش کنید، من خودم قبلا از این روش تو برنامه خودم برای نشون دادن شانسی و بدون تکرار کلمات به کاربر استفاده کردم تازه هر دفعه به دلخواه کاربر ممکن بود 5 کلمه یا 40 کلمه نمایش داده بشه

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .