Помогите разобраться с программой, написать комментарии

 
 
 
Сообщения:8
static boolean isLucky(int n) 
    { 
      
        boolean arr[]=new boolean[10]; 
             for (int i = 0; i < 10; i++) 
                     arr[i] = false; 

                    while (n > 0) 
        { 
                      int digit = n % 10; 
              if (arr[digit]) 
                      return false; 
                       arr[digit] = true; 
                      n = n / 10; 
        } 
        return true; 
    } 
      
   
    public static void main (String[] args) 
    { 
        for (int i = 100; i < 1000; i++) 
            if(isLucky(i) )
                System.out.print(i + " is Lucky \n"); 
            
        
        
    } 
} 
  
 
 
Сообщения:932
во всех IDE существует функция автоформатирования. пользуйся ей регулярно.
в остальном вполне рабочий код.
 
 
Сообщения:1693
static boolean isLucky(int n) { 
   boolean arr[]=new boolean[10]; // массив из 10 значений типа boolean, в начале они false, так что следующий цикл лишний
   for (int i = 0; i < 10; i++) {
      arr[i] = false; 
   }
   while (n > 0)  { // крутимся в цикле до тех пор пока число больше 0
      int digit = n % 10; // берем правую цифру
      if (arr[digit]) { если данное число же было, то результат отрицательный
         return false;
      }
      arr[digit] = true;
      n = n / 10; 
   } 
   return true; // не нашли повторяющихся цифр
} 
      
   
public static void main (String[] args) { 
   for (int i = 100; i < 1000; i++) {// цикл для всех трехзначных чисел
      if(isLucky(i) ){// если число счастливое
         System.out.println(i + " is Lucky "); //то печатаем его
      }
   }
} 
 
 
Сообщения:3
Да вполне рабочий код.
 
Модераторы:alon4iknazicaTaky_
Сейчас эту тему просматривают:Нет