당신은 체육 교사입니다. 특정 수업이 끝나기 5분 남았을 때 당신은 게임을 하기로 결정했습니다. 현재 수업을 듣는 학생은 100명입니다. 게임의 규칙은 다음과 같습니다.
1. 먼저 3, 5, 7과 같이 한 자리 숫자여야 하는 세 가지 다른 특수 번호의 이름을 지정합니다.
2. 모든 학생들이 팀을 구성한 후 순서대로 숫자를 센다.
3. 학생들이 숫자를 보고할 때 보고된 숫자가 첫 번째 특수 숫자(3)의 배수인 경우 해당 숫자를 말할 수 없지만 보고된 숫자인 경우 Fizz라고 말합니다.
두 번째 특수 번호(5)의 배수이면 Buzz라고 말하고, 보고된 숫자가 세 번째 특수 번호(7)의 배수이면 Whizz라고 말합니다.
4. 학생들이 번호를 신고할 때 신고된 번호가 동시에 두 개의 특수번호의 배수인 경우에는 첫 번째 특수번호, 두 번째 특수번호 등 특별 대우도 필요합니다.
숫자의 배수인 경우 해당 숫자를 말하는 대신 FizzBuzz 등을 말합니다. 동시에 세 개의 특수 숫자의 배수인 경우 FizzBuzzWhizz라고 말하세요.
5. 학생들이 숫자를 보고할 때 보고된 숫자에 첫 번째 특수 번호가 포함되어 있으면 숫자를 말할 수 없지만 이 예의 첫 번째 특수 번호와 같이 해당 단어를 말해야 합니다.
3이므로 13을 보고하려는 학생은 Fizz라고 말해야 합니다. 숫자에 첫 번째 특수 번호가 포함되어 있으면 규칙 3과 4가 무시됩니다. 예를 들어 35를 신고하려는 학생은 BuzzWhizz가 아닌 Fizz만 신고합니다.
다음과 같이 코드 코드를 복사합니다.
패키지 com.hq.baoshu;
java.util.Scanner 가져오기;
공개 클래스 Baoshu {
/*
@저자 황춘
jdk 버전 1.6
윈도우7 32비트
*/
공개 정적 무효 메인(문자열 인수[]){
//테스트 입구
정수 합=100;
스캐너 sc=새 스캐너(System.in);
정수 숫자1=0,숫자2=0,숫자3=0;
while(num1<=0||num1>=10||num2<=0||num2>=10||num3<=0||num3>=10){
System.out.println("10보다 작은 정수 3개를 입력하세요:");
num1=sc.nextInt();
num2=sc.nextInt();
num3=sc.nextInt();
}
for(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("피즈")
:(i%num1*i%num2*i%num3!=0?talk.append(i)
:(i%num1==0?talk.append("Fizz"):talk)
.append((i%num2==0?"버즈":""))
.append(i%num3==0?"윙즈":""));
return talk.toString();
}
}