problémy jde takhle "Škola má N studentů a N krabic, jedna krabice pro každého studenta. Na určité události, učitel hraje následující hru: ptá se prvního studenta jít a otevřít všechny bedny. On pak žádá druhý student jít a zavřít všechny sudé krabice. Třetí student je požádán, aby zkontrolovat každý třetí box. Pokud je otevřený, student uzavírá; pokud je zavřeno, student otevře. Čtvrtý student je žádal, aby kontrolovat každý čtvrtý rámeček. Pokud je otevřený, student uzavírá; pokud je zavřeno, student otevře. Zbývající studenti pokračovat v této hře. Obecně platí, že n-tý student kontroluje každý n-tý box. Poté, co všichni studenti vzali na ně přijde řada, některé boxy jsou otevřené a některé jsou zavřené.." takže v podstatě chci číslo skříňky v uživatel zadává
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");
}
}
}
}
a ukazuje to tuto chybu
/LockerPuzzle.java:9: error: incompatible types: Scanner cannot be converted to int
boolean[] lockers = new boolean[(scn)];