أنت مدرس تربية بدنية عندما يتبقى خمس دقائق قبل نهاية فصل معين، فإنك تقرر أن تلعب لعبة. هناك 100 طالب في الفصل في هذا الوقت. قواعد اللعبة هي:
1. عليك أولاً تسمية ثلاثة أرقام خاصة مختلفة، والتي يجب أن تكون مكونة من أرقام فردية، مثل 3 و5 و7.
2. اسمح لجميع الطلاب بتشكيل فريق ثم العد بالترتيب.
3. عندما يقوم الطلاب بالإبلاغ عن الأرقام، إذا كان الرقم المُبلغ عنه هو أحد مضاعفات الرقم الخاص الأول (3)، فلا يمكنهم قول هذا الرقم، ولكن يقولون Fizz إذا كان الرقم المُبلغ عنه
إذا كان مضاعفًا للرقم الخاص الثاني (5)، فقل Buzz إذا كان الرقم المبلغ عنه مضاعفًا للرقم الخاص الثالث (7)، فقل Whizz.
4. عندما يقوم الطلاب بالإبلاغ عن أرقام، إذا كان الرقم المُبلغ عنه هو أحد مضاعفات رقمين خاصين في نفس الوقت، فيجب أيضًا معاملة خاصة، مثل الرقم الخاص الأول والرقم الخاص الثاني.
مضاعف رقم، فبدلاً من قول هذا الرقم، تقول FizzBuzz، وهكذا. إذا كان من مضاعفات ثلاثة أرقام خاصة في نفس الوقت، على سبيل المثال FizzBuzzWhizz.
5. عندما يقوم الطلاب بالإبلاغ عن أرقام، إذا كان الرقم المُبلغ عنه يحتوي على الرقم الخاص الأول، فلا يمكنهم نطق الرقم، ولكن يجب عليهم نطق الكلمة المقابلة، مثل الرقم الخاص الأول في هذا المثال
إنها 3، لذا يجب على الطلاب الذين يريدون الإبلاغ عن 13 أن يقولوا Fizz. إذا كان الرقم يحتوي على الرقم الخاص الأول، فسيتم تجاهل القاعدتين 3 و4. على سبيل المثال، سيقوم الطالب الذي يريد الإبلاغ عن 35 بالإبلاغ عن Fizz فقط، وليس BuzzWhizz.
انسخ رمز الكود كما يلي:
الحزمة com.hq.baoshu؛
استيراد java.util.Scanner؛
الطبقة العامة باوشو {
/*
@ المؤلف هوانغقون
جي دي كيه الإصدار 1.6
نافذة 7 32 بت
*/
الفراغ الثابت العام الرئيسي(String args[]){
// مدخل الاختبار
مجموع صحيح = 100؛
Scanner sc=new Scanner(System.in);
int num1=0,num2=0,num3=0;
بينما(num1<=0||num1>=10||num2<=0||num2>=10||num3<=0||num3>=10){
System.out.println("الرجاء إدخال ثلاثة أعداد صحيحة أقل من 10:");
num1=sc.nextInt();
num2=sc.nextInt();
num3=sc.nextInt();
}
ل(int i=1;i<=sum;i++){
System.out.println(baoshu(num1,num2,num3,i));//استدعاء طريقة التنفيذ
}
}
/*
* طريقة التنفيذ
*/
سلسلة ثابتة عامة baoshu(int num1,int num2,int num3,int i){
StringBuffer talk=new StringBuffer("");
talk=(i+"").indexOf(num1+"")>=0?talk.append("Fizz")
:(i%num1*i%num2*i%num3!=0?talk.append(i)
:(i%num1==0?talk.append("Fizz"):talk)
.append((i%num2==0؟"Buzz":"))
.append(i%num3==0؟"Whizz":"));
إرجاع talk.toString();
}
}