문제는 다음과 같이 간다 "학교는 N 생 N 상자,한자를 위해 모든 학생이다. 에는 특정 이벤트,교사는 놀이 다음과 같은 게임:그가 첫 번째 학생이 이동하고 열려있는 모든 상자입니다. 그 다음 두 번째 학생이 이동하고 가까운 모든 짝수 상자입니다. 세 번째 학생이 요청마다 확인 제삼자. 가 열려 있는 경우,학생은 그것을 닫습니다면 그것은 닫힌 학생들이 열립니다. 네 번째 학생이 요청마다 확인이 네 번째 상자입니다. 가 열려 있는 경우,학생은 그것을 닫습니다면 그것은 닫힌 학생들이 열립니다. 나머지 학생들을 계속 이는 게임이다. 일반적으로,n 번째 학생이 확인 매 nth 상자입니다. 후에는 모든 학생들이 자신의 차례의 일부 상자가 열리고 일부는 닫혀.." 그래서 기본적으로 내가 원하는 수하는 금고에 있는 사용자가 입력
import java.util.*;
public class LockerPuzzle {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
boolean[] lockers = new boolean[scn];
// then the first student comme and opens all the lockers
for (int i = 0; i< lockers.length; i++){
lockers[i] = false;
}
// students checking
for(int j = 1; j<= lockers.length; j++){
for(int k =j; k< lockers.length; k =k+j){
if(lockers[k] == false){
lockers[k]=true;
}else{
lockers[k]= false;
}
}
}
// this prints all the open lockers.
for(int S=1; S<lockers.length; S++)
{
if (lockers[S] == true) {
System.out.println("Locker " + S + " Open");
}
else {
System.out.println("Locker " + S + " close");
}
}
}
}
그리고 그것을 보여줍 이러
/LockerPuzzle.java:9: error: incompatible types: Scanner cannot be converted to int
boolean[] lockers = new boolean[(scn)];