어떻게 사용자 입력에서의 번호를 부울 배열? [중복]

0

질문

문제는 다음과 같이 간다 "학교는 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)];
arrays boolean java java-11
2021-11-19 21:17:42
1

최고의 응답

0

당신을 사용할 필요가 Scanner 을 얻을 입력을 사용합니다. 그런 다음 전달하는 입력의 크기로 새로운 배열입니다.

Scanner scn = new Scanner(System.in); 
int userInput = scn.nextInt();
boolean[] lockers = new boolean[userInput];
2021-11-19 21:23:24

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................